空结构元素的OpenCV Erosion / Dilation错误输出?

时间:2015-03-10 05:20:23

标签: c++ opencv image-processing

如果用零(3,3)结构元素侵蚀图像,它应该全是1,但是在OpenCV的情况下,它返回图像。类似地,通过零(3,3)结构元素扩散图像返回图像本身而不是全0。

1 个答案:

答案 0 :(得分:2)

documentation说:

  
      
  • 元素 - 用于扩张的结构元素; if element=Mat(),使用3x3矩形结构元素
  •   

如果你看看实现,你会发现,如果空内核ksizemorphOp() #1683内是3x3:

Size ksize = !kernel.empty() ? kernel.size() : Size(3,3);

这个也适合我:

cv::Mat input = cv::Mat::eye(10, 10, CV_8UC1);
cv::Mat output;

cv::erode(input, output, cv::Mat());