2014-02-17 45 views
0

我必须写的“计算通过图像处理不定形物体的体积”在MATLAB软件算法如何通过图像处理计算未成形物体的体积?

我必须编写取对象作为输入的多图象的算法,并计算体积该对象作为输出。每个帮助将非常感激。由于

+3

就目前而言,这太笼统和模糊了。你需要做一些阅读,然后进行一些编码,然后当你有一个更具体的问题涉及到你已经完成的工作时再回来。这听起来像你应该做某种立体摄影测量 – nkjt

回答

0

如果只有物体和背景图像I

O = im2bw(I); % suppose 1 labelled on the object and 0 on the background 
Volume = length(find(O == 1)); 

上面的代码将会给你物体的体积。

如果图像中有各种物体,并且想要在其中获得一个卷。例如你有如下图左图所示的MRI脑图像,并且希望获得水肿的体积(黄色部分内):在上面的代码

enter image description here

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.