2014-04-08 3 views
1

Matlab을 사용하여 4x4 격자의 컬러 사각형을 입력하고 색상 목록을 출력합니다. 내 프로그램은 사각형에 대한 잘 작동하지만 난 회전 된 이미지에 적응하는 데 문제가 있어요 :Matlab에서 Hough 변환을 사용한 이미지 투영

Rotated 1

Rotated 2

및 이미지 투사 : 내가 가지고있는

Projected


을 사용을 권고 받았다 허프 변형, 나는 다음과 같은 코드를 사용하여 이미지의 라인에 액세스하려면이 옵션을 사용할 수 이니 그 이미지의 가장자리가 평행 지금 나는이 라인을 사용하고 그에 따라 내 이미지를 똑 바르게하고 싶습니다 그래서

[H, theta, rho] = hough(image,'RhoResolution',0.1,'Theta',-90:0.5:89.5);  
peaks = houghpeaks(H,4);  
lines = houghlines(dilated, theta, rho, peaks, 'MinLength', 40) 

figure, imshow(dilated), hold on; 

max_len = 0; 

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'); 

    angle = atand(((xy(1,1)-xy(2,1))/(xy(1,2)-xy(2,2)))); 

end 

이 라인들. 그러나 나는 이것에 대해 어떻게 해야할지 모른다. 이렇게하는 방법에 대한 조언을 주시면 감사하겠습니다. 감사.

답변

0

dilated은 어디에서 왔습니까? 흑백 이미지와 그 가장자리를 계산하는 방법은 무엇입니까? 영리한? 소벨? Prewitt?

아마 당신은 가장자리의 각도에 의존하는 미분 필터를 사용하고 있습니다. 따라서 어쩌면 좋은 가장자리 이미지를 얻을 수 없으므로 Houghtransformation이 실패 할 수 있습니다. 가능한 닫힌 모서리 (또는 적어도 작은 틈)가있는 잘 정의 된 모서리.

힌트 : imshow(dilated)을 통해 흑백 이미지를 출력하고 회전이없는 이미지의 가장자리와 비교할 때 가장자리가 얼마나 잘 정의되어 있는지 확인하십시오.