1
hough
및 houghlines
가 MATLAB에서 작동하는 방법을 배우고 있지만 함수의 설명서에서 찾을 수없는 것처럼 보일 수도 있습니다. simple line 그림판에서 그렸습니다.MATLAB : 단순한 선을 탐지하기 위해 호우 선을 얻을 수 없습니까?
clear all; clc; close all
I = imread('lines2.png');
BW = im2bw(I);
[H,T,R] = hough(BW,'Theta',-90:0.1:89.99,'RhoResolution',1);
P = houghpeaks(H,2);
lines = houghlines(H,T,R,P,'FillGap',10,'MinLength',1);
figure, imshow(I), hold on
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','yellow');
plot(xy(2,1),xy(2,2),'x','LineWidth',2,'Color','red');
end
나는 this 결과 (라인의 끝은 이미지 자체 외부에있는)를 얻을 :
여기 내가 사용하는 코드입니다. 다른 사람이 그것을 재현 할 수 있습니까?hough
에 대한 매개 변수를 수정하려고했지만 예상 한 결과가 없습니다. 실제로 'Theta'
매개 변수의 단계를 1로 설정하면 오른쪽의 행을 얻지 못합니다. 나는 또한 BW=~BW;
으로 이미지를 뒤집어 썼다.하지만 프레임에서 아주 먼 선만 가져왔다. ...
오 마이 갓 나는 눈치 채지 못했다고 믿을 수 없다! 그것을 지적 해 주셔서 대단히 감사합니다. 나는 당신이 며칠 후에 신선한 마음으로 깨달을 때까지 계속해서 반복해서 읽는 실수 중 하나라고 생각합니다. 어쨌든, 당신은 나에게 머리카락을 당기는 어떤 시간을 구해주었습니다 : D – yuyu2809