hough peaks not symmetric for rectangle
2 views (last 30 days)
Show older comments
Michael scheinfeild
on 8 Jul 2014
Answered: Michael scheinfeild
on 9 Jul 2014
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]);
0 Comments
Accepted Answer
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.
0 Comments
More Answers (1)
See Also
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!