Detect all the rectangles in image
显示 更早的评论
Hey all,
in the following image, all the rectangles are a little bit deformed due to power leakage effect. I want to detect all the rectangles and obtain the positions of the rectangles.

Is there a way to detect all rectangles?
Thank you
采纳的回答
更多回答(1 个)
KSSV
2019-2-18
I = imread('myImage.jpeg') ;
[y,x] = find(I>50) ;
imshow(I)
hold on
idx = kmeans([x y],4) ;
for i = 1:4
plot(x(idx==i),y(idx==i),'.')
% GEt L and B of rectangles
x0 = min(x(idx==i)) ; x1 = max(x(idx==i)) ;
y0 = min(y(idx==i)) ; y1 = max(y(idx==i)) ;
%
L = x1-x0 ;
B = y1-y0 ;
coor = [x0 y0 ; x0 y1 ; x1 y1 ; x1 y0] ;
patch(coor(:,1),coor(:,2),rand(1,3))
end
3 个评论
simon xu
2019-2-18
islam elsayed
2020-6-11
can you please explain in brief
islam elsayed
2020-6-11
类别
在 帮助中心 和 File Exchange 中查找有关 Labels and Annotations 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!





