hough peaks not symmetric for rectangle

2 views (last 30 days)
hello i use hough transform for rectangle the peaks should be symetric. but they are not symmetric around theta angle based on
[http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.59.4239&rep=rep1&type=pdf]
%%just test
close all;clear;
m=zeros(200,300);
m=logical(m);
m(50,30:190)=1;
m(100,30:190)=1;
m(50:100,30)=1;
m(50:100,190)=1;
%m=imrotate(m,45);
stats=regionprops(m,'BoundingBox');
bx = stats.BoundingBox;
m=imcrop(m,bx);
m=padarray(m,[3 3]);
figure(1),imagesc(m)
[H, T, R] = hough(m);
figure(2)
imshow(imadjust(mat2gray(H)),'XData',T,'YData',T,...
'InitialMagnification','fit');
title('Hough Transform of Image');
xlabel('\theta'), ylabel('\rho');
axis on, axis normal, hold on;
colormap(hot);
Hv=H(:);
mxH = 0.2*max(Hv);
ii=find(Hv>=mxH);
[aa bb] = ind2sub(size(H),ii);
figure(4),imagesc(T,R,H),hold on,plot(T(bb),R(aa),'gs','MarkerSize',10,'MarkerFaceColor',[0.5,0.5,0.5]);

Accepted Answer

Anand
Anand on 8 Jul 2014
The symmetry should hold only for rectangles centered at the origin. I just skimmed the paper, but it seems to describe a technique where the search space is centered around the peak you are currently looking at. In MATLAB, the origin is at the top left pixel in the image.
When the rectangle is at the center, rho1=-rho2 and rho3=-rho4. This is not the case when the rectangle isn't centered at the origin.

More Answers (1)

Michael scheinfeild
Michael scheinfeild on 9 Jul 2014
yes you right i suppose i need to write the hough transform by myself with moving window , i suppose the center should be at center of mass of the shape

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!