一小段txt程序代码
clc
clear all
close all
a=imread('x.jpg');
figure(1),imshow(a);title('检测图像');%读入图像并显示
hsv=rgb2hsv(a);
h=hsv(:,:,1);
s=hsv(:,:,2);
v=hsv(:,:,3);
figure(2),imshow(hsv);title('HSV图像');%转换为hsv图像并显示
bw1=h>0.9|h<0.05;
bw1=bw1.*(s>0.5);%检测红色区域
se=strel('disk',3);%创建一个指定半径R的平面圆盘形的结构元素
bw2=imopen(bw1,se);%用结构元素SE实现二值图像的bw1的形态开运算。SE可以是单个结构元素对象或者结构元素对象数组。
bw2=bwfill(bw2,'holes');%空洞填充,填充二进制图像的背景色
% % % figure
% % % imshow(bw2)
[L,num]=bwlabel(bw2,8);%标记各区域,这里num返回的就是BW2中连通区域的个数。
STATS = regionprops(L,'area','BoundingBox');%%对二值化数据进行连通域数据分析获取标记后的图像面积。外接长方形、和面积
bw_area=zeros(1,num);
bw_circle=zeros(1,num);
% % % bw_center=zeros(num,2);
figure(1),imshow(a);title('检测图像');%读入图像并显示
hold on
for i=1:num
[r,c]=find(L==i);%返回的是L矩阵中数值为i的坐标
si