【问题标题】:from MATLAB to C++: equivalent of bwmorph with option 'remove'从 MATLAB 到 C++:等效于带有选项 'remove' 的 bwmorph
【发布时间】:2019-01-08 09:03:09
【问题描述】:

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

【问题讨论】:

  • 建议改写您的问题。正如所写的那样,它正在反对成为一个离题的图书馆请求。

标签: c++ matlab opencv image-processing


【解决方案1】:

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);

【讨论】:

  • 太棒了!但是 3,3 过滤器不是 8 连接过滤器?
  • @volperossa:一个 3x3 的交叉是一个 4 连接的过滤器,一个 3x3 的正方形是一个 8 连接的过滤器。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-03-30
  • 1970-01-01
  • 1970-01-01
  • 2015-02-26
  • 1970-01-01
  • 2018-10-24
  • 2013-09-10
相关资源
最近更新 更多