Matlab - Hough变换中的框架线

时间:2018-03-11 14:01:43

标签: matlab transform hough-transform

我正在Matlab中实现Hough-Radon变换来检测一些模式(主要是直线)。我已经实现了它,但问题是它还将“帧”检测为一条线(见图)。

enter image description here

实现这个的代码基本上是:

[H,T,R] = hough(BW,'RhoResolution',0.6,'Theta',-90:0.5:89.5);
P  = houghpeaks(H,20,'threshold', ceil(0.1*max(H(:))));
lines = houghlines(BW,T,R,P,'FillGap', 15,'MinLength',50);

其中lines是由字段组成的结构:

  • 起点。
  • 结束点。
  • Angle Tetha
  • 距离Rho

我能做些什么来摆脱四个框架线?

编辑:

执行霍夫变换之前的原始图片是:

enter image description here

1 个答案:

答案 0 :(得分:1)

问题在于您的预处理。查看放入BW的二进制图像hough:其中包含这些行。

我建议你用这样的东西替换你的二值化:

BW = imbinarize(I, 128);
BW = bwmorph(BW,'skel');