从MATLAB到C ++:等同于带有选项'remove'的bwmorph

时间:2018-07-31 21:25:54

标签: c++ matlab opencv image-processing

我在How to implement an function equivalent to bwmorph Matlab function in OpenCV找到了一个适用于C ++的MATLAB bwmorph函数版本,带有选项'endpoints',在bwmorph(image,'clean') equivalent in opencv有一个选项'clean',但没有一个选项{ {1}}。有人有C ++实现吗?

1 个答案:

答案 0 :(得分:2)

The 'remove' option to `bwmorph

  

删除内部像素。如果所有4个相邻像素均为1,则此选项会将像素设置为0,从而仅保留边界像素。

您可以使用简单的4连接侵蚀来实现此目的,然后获取输入图像和侵蚀图像之间的差异。

auto se = getStructuringElement(MORPH_CROSS, Size{3,3});
erode(in, out, se);
subtract(in, out, out);