
请教一个关于matlab程序的问题?
cc=bwconncomp(bnew,4);%统计孔的个数fori=1:cc.NumObjectss(i)=length(cc.PixelIdxList{i});%s存储...
cc = bwconncomp(bnew, 4);%统计孔的个数
for i=1:cc.NumObjects
s(i)=length(cc.PixelIdxList{i});%s存储的是孔的面积(所占的像素的个数)
end
如上问,这是一个程序里的一段语言,后面是注释,其中bnew是一个二值化后的图像,图像里边有948个孔,想求出这些孔的面积分布。小弟matlab菜鸟实在不懂,希望大神帮忙翻译一下。
还有就是想知道这个cc, bwconncomp,4分别是什么意思?然后这个for 循环应该怎么理解?
谢谢好心人,如果我能理解了,会追加200分作为报答的!!! 展开
for i=1:cc.NumObjects
s(i)=length(cc.PixelIdxList{i});%s存储的是孔的面积(所占的像素的个数)
end
如上问,这是一个程序里的一段语言,后面是注释,其中bnew是一个二值化后的图像,图像里边有948个孔,想求出这些孔的面积分布。小弟matlab菜鸟实在不懂,希望大神帮忙翻译一下。
还有就是想知道这个cc, bwconncomp,4分别是什么意思?然后这个for 循环应该怎么理解?
谢谢好心人,如果我能理解了,会追加200分作为报答的!!! 展开
展开全部
bwconncomp(A,4)是找出二值图像A中所有的连接体。其中,第二个参数是表明你判别连接的方式。一般地,对于二维图像来说,其中4表示判断时只是注意上下左右与中间点是否有连接,8表示除了以上4个方向外,还要看45度角方向上的,所以有8个连接方向。至于16,28是针对3维图形的。
对于for循环,其中cc.NumObjects
是连接体的数目, 而cc.PixelIdxList是连接体中所有的像素,通过length()来获得像素的个数,也就是面积了。
望能帮助你。
对于for循环,其中cc.NumObjects
是连接体的数目, 而cc.PixelIdxList是连接体中所有的像素,通过length()来获得像素的个数,也就是面积了。
望能帮助你。
追问
谢谢您的解答,想在请教一下:
1、在这个二值图中像素的物理意义是什么呢?为什么像素的个数就是面积呢?
2、现在已知那个cc.NumObjects是948,能不能麻烦您翻译一下这个for循环?
3、程序的目的是找出图像中孔的个数和面积,这些孔都是不连通的,为什么要找连接体的个数呢?
万分感谢您的解答,我会给您追加财富值的!谢谢好心人!!!
追答
1、在这个二值图中像素的物理意义是什么呢?为什么像素的个数就是面积呢?
图像是有一个个像素组成的,所以图像的面积跟像素的个数是成正比的,可以简单地把像素的个数动作面积来看的。
2、现在已知那个cc.NumObjects是948,能不能麻烦您翻译一下这个for循环?
就是对948个连接体,统计每一个连接体的像素个数,存放在s(i)中。
3、程序的目的是找出图像中孔的个数和面积,这些孔都是不连通的,为什么要找连接体的个数呢?
呵呵,这个需要反向思维呀!比方说背景色是黑的,孔是白的(通过处理,让孔的边线颜色跟背景色一样),那么这些连接体自然就是孔的个数了。我想你应该可以懂了吧。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询