Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在matlab中求图像中二维物体的轮廓_Matlab_Image Processing_Contour - Fatal编程技术网

在matlab中求图像中二维物体的轮廓

在matlab中求图像中二维物体的轮廓,matlab,image-processing,contour,Matlab,Image Processing,Contour,我有一个问题:我有一个二维二值图像,我想提取这个图像中物体的轮廓。 这是图像: 我希望有相同的矩阵图像,但只有一个在物体的轮廓和零的其他地方。 有解决办法吗? 如果是,是否有任何实现也可以对3D对象执行相同的操作 如果您有图像处理工具箱,非常感谢 最终,这将对原始图像执行卷积以腐蚀它,然后计算腐蚀版本和原始版本之间的差异。因此,如果您没有工具箱,您可以使用3D中的conv2(或convn)执行此操作 或在3D中: eroded = ~convn(double(~BW_3D), ones(3,

我有一个问题:我有一个二维二值图像,我想提取这个图像中物体的轮廓。 这是图像:

我希望有相同的矩阵图像,但只有一个在物体的轮廓和零的其他地方。 有解决办法吗? 如果是,是否有任何实现也可以对3D对象执行相同的操作


如果您有图像处理工具箱,非常感谢

最终,这将对原始图像执行卷积以腐蚀它,然后计算腐蚀版本和原始版本之间的差异。因此,如果您没有工具箱,您可以使用3D中的
conv2
(或
convn
)执行此操作

或在3D中:

eroded = ~convn(double(~BW_3D), ones(3,3,3), 'same');
boundary = BW_3D - eroded;

非常感谢,它与bwperim功能完美配合!
eroded = ~conv2(double(~BW), ones(3), 'same');
boundary = BW - eroded;
eroded = ~convn(double(~BW_3D), ones(3,3,3), 'same');
boundary = BW_3D - eroded;