最简单的代码【数字图像处理】计算rice.png中米粒个数

本文介绍了一种简洁的方法来计算rice.png图片中的米粒个数。通过提取背景、减去背景色、转换为二进制图像,然后运用标号法识别并计数米粒,最终得出共有99粒米。
摘要由CSDN通过智能技术生成

图像处理课程上老师布置的任务,要求求出图片rice.png中米粒的个数及其各米粒的大小。

本来开始的时候我们不是很会做,就去百度或者去博客园上面查找别人的代码,发现都很长。少则三四十行,多则五六十行。一下看懂太过困难,最后老师讲解了一下,这是最终版本,不超过10行就搞定了。PS:我在CSDN上面看到别的版本是69粒,是因为它去掉了边缘部分。


I=imread('rice.png');
BG=imopen(I,strel('disk',15));
%对图像实现开运算,开运算一般能平滑图像的轮廓,消弱狭窄的部分,去掉细的突出。 
% imshow(BG);
I2=imsubtract(I,BG);
% imshow(I2); 
%????????
level=graythresh(I2);
bw2=im2bw(I2,level);
imshow(bw2);
[labeled,numObjects]=bwlabel(bw2,8);
max(max(labeled))



输出结果为99,故一共有99粒米

 

下面来讲解如何计算出该结果的,

rice.png

首先我们可以看到这张图是明暗不均的一张图片,上面的亮度比下面的亮度高,甚至还有些杂色,第一步我们要做的就是提取出背景,然后用原图减去背景图,就可

  • 8
    点赞
  • 56
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值