【问题标题】:General approach for extracting specific lines or line segments in an image提取图像中特定线或线段的一般方法
【发布时间】:2019-04-17 01:22:24
【问题描述】:

我有这个示例裁剪图像:

我需要使黑色粗线(水平和垂直)消失或提取,同时保持所有其他信息不变。这些特定的线条是 4 或 5 像素厚。我试过了:

  1. 如果图像被读取为 NumPy 数组,则对具有更多零/一的行进行简单过滤,但过滤条件不会终止,直到单行剩下零或一。
  2. 使用简单内核 (3,3) 进行侵蚀,但会留下一些噪音,因为有些符号也是厚黑色
  3. 使用图像宽度宽度的线结构元素进行膨胀,但连接不同符号的线段大小存在压倒性差异,导致每个小线段的基本信息丢失。

有人可以就什么样的结构元素、应该考虑什么样的形态学操作或任何其他聪明的启发式方法提供见解或指导?如果 提取了粗黑线,输出将看起来像这个随机线段网格:

【问题讨论】:

  • 你所说的“粗黑线”……它们的高度或宽度似乎比其他线高,是吗?
  • 你应该研究一下霍夫变换——腐蚀后,可能检测到左边的直线
  • 侵蚀,然后是lineSegmentDetector呢?希望噪音不会形成线段?
  • 作为图片的理想解决方案会有所帮助,否则例如“粗横线”是模棱两可的。
  • 我认为预期的输出是可取的......否则我们都会提出可能不是您想要的解决方案。请更新您的问题以提供预期的输出。

标签: matlab opencv image-processing image-morphology


【解决方案1】:

这就是你如何腐蚀图像并提取霍夫线:

I=rgb2gray(imread('https://i.stack.imgur.com/cbHFL.jpg'));

Ibw=I>200;

imshow(Ibw)
SE=strel('disk',1)
Ier=imerode(~Ibw,SE);

[H,T,R] = hough(Ier);
P  = houghpeaks(H,100,'threshold',ceil(0.1*max(H(:))));

lines = houghlines(Ier,T,R,P);

%% plot
imshow(I);hold on
max_len = 0;
for k = 1:length(lines)
   xy = [lines(k).point1; lines(k).point2];
   plot(xy(:,1),xy(:,2),'LineWidth',2,'Color','green');

   % Plot beginnings and ends of lines
   plot(xy(1,1),xy(1,2),'x','LineWidth',2,'Color','blue');
   plot(xy(2,1),xy(2,2),'x','LineWidth',2,'Color','red');

   % Determine the endpoints of the longest line segment
   len = norm(lines(k).point1 - lines(k).point2);
   if ( len > max_len)
      max_len = len;
      xy_long = xy;
   end
end

从这里开始,您可以开始考虑要删除的内容。这并不简单,除非你有一个符号字典,例如如何删除带有>-< 形状的结构周围的线?您是删除所有中间像素还是保留整个中间细条?只有知道符号在没有粗线的情况下应该如何,才能知道这一点。

【讨论】:

  • 我使用了霍夫线变换,但由于黑线较粗,在一条大线中检测到许多小线,很难通过参数控制。我有几个问题:1)为什么用大小为 1 的磁盘元素腐蚀? 2) 为什么不用矩形元素腐蚀? 3)绿线似乎越过符号,而在输入图像中黑线从未穿过任何符号,实际上我们必须将它们视为任何符号之前和之后的线段。 4) 蓝十字起点和红十字终点是一条线吗? 5) 底部一小段没有检测到。
  • @SKR 1) 经验测试结果很好,没想到更多。 2)与1相同。 3)最后一段是关于那个。这不是您庞大项目的完整解决方案,只是一个起点。您的问题太大而无法完全回答。人们得到报酬来解决这类问题。 4) 是的,检查代码 5) 是的
猜你喜欢
  • 2014-05-27
  • 2011-07-27
  • 1970-01-01
  • 2011-10-23
  • 2013-06-17
  • 1970-01-01
  • 2017-11-23
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多