Я пытаюсь создать функцию Matlab, которая проверяет, есть ли на изображении прямоугольное поле. Прямоугольник может быть не прямым, поэтому я пытаюсь создать функцию, которая проверяет, есть ли форма прямоугольника, а позже я собираюсь использовать функцию для поворота изображения, чтобы прямоугольник был прямым.
В настоящее время я пытаюсь нарисовать линии вокруг коробки, но проблема в том, что линии слишком короткие (они не окружают всю коробку). Также мне нужны некоторые советы, которые помогли бы с этой проблемой. Я должен как-то проверить, есть ли на изображении прямоугольная рамка.
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
Изображение: