Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
|
![]() |
#1 |
初级会员
注册日期: 2008-05-22
年龄: 39
帖子: 5
声望力: 0 ![]() |
![]()
有一个问题:
a = 0.5447 0.5436 0.5431 0.5440 0.5461 0.8472 0.5466 0.5457 0.5461 0.5452 0.8442 0.5441 0.5452 0.8461 0.5464 0.5464 0.9495 0.5488 0.9476 0.5467 0.5469 0.5476 0.5484 0.5492 0.9510 0.5505 0.5493 0.5482 0.5480 0.9485 0.9493 0.5504 0.5481 0.5476 0.5466 0.5461 0.5464 0.5470 0.5474 0.5479 0.5450 0.5442 0.5436 0.5442 0.5457 0.5465 0.5462 0.5456 0.5445 0.5434 0.5432 0.5448 0.5473 0.5484 0.5474 0.5458 0.5448 0.5436 0.5434 0.5451 0.5479 0.5491 0.5479 0.5462 >> A=im2bw(a,0.8) %A中的数据,大于0.8的变1,小于0.8的变0; A = 0 0 0 0 0 1 0 0 0 0 1 0 0 1 0 0 1 0 1 0 0 0 0 0 1 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 >> [L,n1]=bwlabel(A) L = 0 0 0 0 0 3 0 0 0 0 2 0 0 3 0 0 1 0 2 0 0 0 0 0 1 0 0 0 0 4 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 n1 = 4 若a是个n*n*n的三维矩阵,矩阵中的数据也是0到1之间的数据,如何实现上述的功能? A=im2bw(a,0.8) [L,n1]=bwlabel(A) 这两个命令应该如何改成三维情况? 谢谢 |
![]() |
![]() |
![]() |
#2 |
普通会员
注册日期: 2008-04-12
年龄: 46
帖子: 67
声望力: 19 ![]() |
![]()
机器上暂时没有matlab,先给你曲线救国下:
a是nxnxn的,那么, [ d1, d2, d3 ] = size( a ); A = zeros( d1, d2, d3 ); L = zeros( d1, d2, d3 ); for i = 1 : d3 A( :, :, i ) = im2bw( a( :, :, i ), 0.8 ); [ L( :, :, i ), n(i) ] = bwlabel( A(:,:,i) ); end 如果不需要保存A,那么A不用做成3维的。 |
![]() |
![]() |
![]() |
|
|
![]() |
||||
主题 | 主题作者 | 版面 | 回复 | 最后发表 |
[分享]给大家传一个图像空间变换和直方图变换的数学推导 | johnny8088 | MATLAB论坛 | 0 | 2009-01-31 03:26 |
[求助]关于三维画图的问题 | duckliton | MATLAB论坛 | 6 | 2008-12-15 18:55 |
有哪位做过BEESSEL法数字下变频? | yqgame365 | MATLAB论坛 | 0 | 2008-12-07 23:53 |
[求助]The input character is not valid in MATLAB statements or expressions. | mumu | MATLAB论坛 | 2 | 2008-11-26 12:58 |
[求助]如何用FFT从数据序列中提取相位信息? | leechau | Origin论坛 | 0 | 2008-11-05 21:50 |