我试图创建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
图像: