【问题标题】:How can I calculate the volume of unshaped objects by image processing?如何通过图像处理计算未成形物体的体积?
【发布时间】:2015-12-03 14:26:27
【问题描述】:

我必须在MATLAB软件中编写“通过图像处理计算未成形物体的体积”的算法

我必须编写一个算法,将物体的多张图片作为输入,然后计算物体的体积作为输出。每一个帮助将不胜感激。谢谢

【问题讨论】:

  • 就目前而言,这太模糊和宽泛了。您需要阅读一些内容,然后进行一些编码,然后当您对已完成的工作有更具体的问题时再回来。听起来你应该做某种立体摄影测量

标签: matlab image-processing volume


【解决方案1】:

如果你的图片中只有对象和背景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。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-22
    • 2018-01-21
    • 2021-04-10
    • 1970-01-01
    • 2022-11-19
    相关资源
    最近更新 更多