[英]MATLAB recognition of geometric figures
我有这段代码,我需要输入一个图像并输出一个带有三角形,正方形,圆形,星形或矩形的字符串。 对完成这个项目有什么帮助吗?
“仅黑白图像
clear all
close all
im=imread('circulo_fr.jpg');
img=rgb2gray(im);
BW=im2bw(img);
stats=regionprops(BW,'Perimeter','Area','Centroid','BoundingBox');
figure,imshow(BW);
hold on
for k=1:length(stats)
thisboundingbox=stats(k).BoundingBox;
if stats(k).Area>10000
retangulo('Position',[thisboundingbox(1), thisboundingbox(2), thisboundingbox(3), thisboundingbox(4)], 'EdgeColor','r','LineWidth',2);
else
retangulo('Position',[thisboundingbox(1), thisboundingbox(2), thisboundingbox(3), thisboundingbox(4)], 'EdgeColor','b','LineWidth',2);
end
if stats(k).Perimeter^2/stats(k).Area > 18
text(stats(k).Centroid(1),stats(k).Centroid(2),'Triangulo','Color','r');
elseif stats(k).Perimeter^2/stats(k).Area < 14.3
text(stats(k).Centroid(1),stats(k).Centroid(2),'Circulo','Color','g');
else
text(stats(k).Centroid(1),stats(k).Centroid(2),'Quadrado','Color','b');
end
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.