Matlab检测图像中的矩形

时间:2015-11-20 15:42:22

标签: image matlab image-processing hough-transform

我试图创建Matlab函数来检查图像中是否有矩形框。矩形可能不是直的,这就是为什么我试图创建检查是否有矩形形式的函数,然后我将使用函数来旋转图像以使矩形是直的。 / p>

目前我尝试在盒子周围画线,但问题是线条太短(它们不包围整个盒子)。此外,我需要一些有助于解决此问题的提示。我应该以某种方式检查图像中是否有矩形框。

I=imread(img);
I=rgb2gray(I);

BW = edge(I, 'prewitt');
figure, imshow(BW);

[H,T,R] = hough(BW);

P  = houghpeaks(H,5,'threshold', ceil(0.3*max(H(:))))
lines = houghlines(BW,T,R,P)

figure, imshow(I), hold on

for k = 1:4
   xy = [lines(k).point1; lines(k).point2]
   plot(xy(:,1), xy(:,2), 'LineWidth', 2, 'Color','red');
end

图像:

enter image description here

0 个答案:

没有答案