我必须在 MATLAB 软件中编写“通过图像处理计算未成形物体的体积”算法
我必须编写将对象的许多图片作为输入的算法,并计算对象的体积作为输出。每个帮助都会非常感激。感谢
答案 0 :(得分:0)
如果图片中只有对象和背景I
,
O = im2bw(I); % suppose 1 labelled on the object and 0 on the background
Volume = length(find(O == 1));
上面的代码将为您提供对象的数量。
如果图像中有各种对象,并希望在其中获得一个卷。例如,你左边有一张MRI脑图像,你想得到水肿的体积(里面的黄色部分):
I2 = im2bw(I);
I2 = bwareaopen(I2,100);
I2 = imdilate(I2,ones(3));
bw = bwlabel(I2);
上面代码中的 bw
会给你右边的数字。如您所见,有三个部分标有1 - 3.然后,
stats=regionprops(bw,'PixelIdxList');
length(stats(1).PixelIdxList)
length(stats(2).PixelIdxList)
length(stats(3).PixelIdxList)
分别会给你14455,404,9632。左侧图像中的黄色部分在右侧标记为3。所以对象的体积是9632。