【问题标题】:Removing unwanted lines from image从图像中删除不需要的线条
【发布时间】:2017-04-03 22:06:40
【问题描述】:

我目前正在从事一个项目,该项目读取图像,应用多个过滤器,目的是能够在感兴趣的区域周围放置一个边界矩形。

我有一张横格纸上的手写文字图像作为我的输入:

string imageLocation = "loctation of image file";
src = imread(imageLocation, 1);

然后我将图像转换为灰度并应用自适应阈值:

cvtColor(src, newsrc, CV_BGR2GRAY);
adaptiveThreshold(~newsrc, dst, 255, CV_ADAPTIVE_THRESH_MEAN_C, THRESH_BINARY, 15, -2);

然后我使用形态学操作尝试从图像中消除水平线:

Mat horizontal = dst.clone();

int horizontalSize = dst.cols / 30;
Mat horizontalStructure = getStructuringElement(MORPH_RECT, Size(horizontalSize,1));

erode(horizontal, horizontal, horizontalStructure, Point(-1, -1));
dilate(horizontal, horizontal, horizontalStructure, Point(-1, -1));

cv::resize(horizontal, horizontal, cv::Size(), 0.5, 0.5, CV_INTER_CUBIC);
imshow("horizontal", horizontal);

这会产生以下结果(到目前为止还不错):

然后我尝试使用相同的侵蚀和扩张方法来计算垂直:

int verticalsize = dst.rows / 30;
Mat verticalStructure = getStructuringElement(MORPH_RECT, Size( 1,verticalsize));

erode(vertical, vertical, verticalStructure, Point(-1, -1));
dilate(vertical, vertical, verticalStructure, Point(-1, -1));

cv::resize(vertical, vertical, cv::Size(), 0.5, 0.5, CV_INTER_CUBIC);
imshow("vertical", vertical);

我正在关注 OpenCV 的示例,可以在 here 找到该示例

但是,我得到的垂直输出是:

我的问题是,我将如何从图像中删除这些水平线。

很抱歉这个冗长的问题(我想尽可能多地解释)并提前感谢您的任何建议。

【问题讨论】:

  • 你试图找出垂直方向是什么意思?
  • 我已经发布了一个 OpenCV 示例的链接,他们使用形态学运算来提取水平线和垂直线以将文本与水平线分开。
  • 我看不到Mat vertical 在哪里声明和初始化?你确定吗?
  • 我已经初始化了,只是没有包括抱歉。但是:Mat vertical = dst.clone();
  • 你试过从 image2 中减去 image3 吗?

标签: c++ image opencv image-processing


【解决方案1】:

您可以尝试在频域中进行这项工作,如下所示:

http://lifeandprejudice.blogspot.ru/2012/07/activity-6-enhancement-in-frequency_25.html

http://www.fmwconcepts.com/imagemagick/fourier_transforms/fourier.html

使用 FFT 在从图像中添加/删除规则网格方面非常有效。

【讨论】:

  • 我现在去看看。如果可能的话,您是否可以检查我在问题中链接的示例,以了解它是如何完成的。我想知道我到底哪里错了
  • 你的腐蚀内核的垂直尺寸太大了,你的图像中真的没有这么厚的元素。
  • 那么玩verticalsize = dist.cols() / 30是个例子吗
猜你喜欢
  • 1970-01-01
  • 2018-11-13
  • 1970-01-01
  • 2018-07-13
  • 1970-01-01
  • 2012-06-29
  • 2014-05-18
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多