MATLAB的图像处理学习日志之对圆形目标的计算参数和具体实施方案

MATLAB的图像处理学习日志之对圆形目标的计算参数和具体方案要求详细02都在代码里面了
源码整理如下:

clear all;close all;clc;

rgb22=imread('yuanshi555.jpg');
subplot(221);
imshow(rgb22);title('原始图像');

I11=rgb2gray(rgb22);
thess=graythresh(I11);
bw01=im2bw(I11,thess);%阈值分割二值化
subplot(222);
imshow(bw01);title('二值图像');

bw02=bwareaopen(bw01,5);%形态学开运算去除像素小于10的目标
subplot(223);
imshow(bw02);title('开运算去除噪声');
sse=strel('disk',2);

%寻找图像目标的边界
[B,L]=bwboundaries(bw03,'noholes');
subplot(224);hold on;
imshow(label2rgb(L,@jet,[.1 .1 .1]));title('检测目标图像');
 for k =1:length(B)
     boundary=B{k};
     plot(boundary(:,2),boundary(:,1),'y','LineWidth',1);
 end
 
 %获取标识区域的面积质心等参数
 stats=regionprops(L,'Area','Centroid');
 %设置阈值
 thess=0.95;
 
 for k =1:length(B)
     %利用边界求周长和面积
     boundary=B{k};
     delta_sq=diff(boundary).^2;
     perimeter=sum(sqrt(sum(delta_sq,2)));     
     area=stats(k).Area;     
     metric=4*pi*area/perimeter^2;
     %保存计算结果
     metric_str=sprintf('%2.2f',metric);
     if metric>thess
         centroid=stats(k).Centroid;
         plot(centroid(1),centroid(2),'ko');
     end
     
     text(boundary(1,2)-35,boundary(1,1)+13,metric_str,...
         'Color','y','FontSize',14,'FontWeight','bold');
 end
     

结果显示:
在这里插入图片描述
参考教材资料:
MATLAB图像处理函数及其应用——电子工业出版社

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

海宝7号

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值