在matlab中查找图像中2D对象的轮廓

时间:2016-08-05 11:26:36

标签: matlab image-processing contour

我有这个问题:我有这个2D二进制图像,我想在这个图像中提取对象的轮廓。 这是图像: enter image description here

我希望拥有相同的矩阵图像,但只有对象的轮廓和其他地方的零。 有解决方案吗? 如果是这样,是否有任何实现对3D对象也做同样的事情?

非常感谢

1 个答案:

答案 0 :(得分:2)

如果您有图像处理工具箱,则可以使用bwperim

  echo json_encode(array($raspuns, $table_licitatii, $option));

enter image description here

最终它的作用是对原始图像执行卷积以侵蚀它,然后计算侵蚀版本和原始版本之间的差异。因此,如果您没有工具箱,则可以使用BW = imread('http://i.stack.imgur.com/05T06.png'); BW = BW(:,:,1) == 255; boundary = bwperim(BW); imshow(boundary) (或3D中的conv2)执行此操作。

convn

或3D:

eroded = ~conv2(double(~BW), ones(3), 'same');
boundary = BW - eroded;