Matlab利用膨胀腐蚀计算硬币数目

Matlab利用膨胀腐蚀计算硬币数目

这段时间一直在学习Matlab图像处理,浅浅的记录一下一个简单的膨胀腐蚀算法。
Matlab利用膨胀腐蚀计算硬币数目_第1张图片 sample04.jpg

代码如下:

%%计算图中硬币的数量

I=imread('sample04.jpg');%加载图片
I_gray=rgb2gray(I);%转换为灰度图
imtool(I_gray);
BW=I_gray>110;%二值化(重点为确定阈值)
% 去除噪声
I_gray1=imfill(BW,'holes');%填充空洞

SE = strel('disk',4);%确定半径(此处半径可自行调整,主要应用于后面的膨胀和腐蚀中)
I_gray2=imerode(I_gray1,SE);%腐蚀
I_gray3=imdilate(I_gray2,SE);%膨胀
figure;imshow(I_gray3);%显示
%计算硬币数量
[L,n] = bwlabel(I_gray3);%n为硬币数目

Matlab利用膨胀腐蚀计算硬币数目_第2张图片

I_gray3

参考:
https://www.bilibili.com/video/BV1s54y1R7mQ?spm_id_from=333.337.search-card.all.click&vd_source=692a741ac018c0da92ef99e4498dc5ee(b站UP主:
正月点灯笼)

你可能感兴趣的:(matlab,图像处理,开发语言)