首页 > 解决方案 > 细化会破坏边界处的线条

问题描述

我有一张黑白曲线图。我附上了一个例子在此处输入图像描述

我正在通过使用骨架对线条图进行细化。我这样做如下:

cv::Mat element = getStructuringElement(cv::MORPH_RECT, cv::Size(9, 9));
cv::morphologyEx(src, src, cv::MORPH_CLOSE, element);
cv::ximgproc::thinning( src, src, 0 );

但是,如果您查看线条的左下角和右下角,则只有一个像素超出边缘。当我应用细化时,最终看起来像这样:在此处输入图像描述

我已经圈出了这个问题。如您所见,由于某种原因,边框上有一条“线”像素。为什么会这样?在骨架化之后,我仍然只希望线像以前一样离开边界,而不是像它那样“挤压”成一条线

标签: c++opencv

解决方案


推荐阅读