基于Matlab对大米计数的研究

写这篇文章目的:

文章的课题是我期末的数字图像处理大报告。大家可以根据自己的需求,对于每个不同的处理方法,进行学习~

当然文章基于我个人的观点以及参考了一些大神们的写法,如有不对的地方,欢迎大家指正~

解决问题的思路分析:

如何读入图像 - > 如何减少图片当中的无用信息 - > 如何进行计数 - > 如何解决粘连在一起的大米

在网上随意找了一张大米的图片:

<说明>    将图片存为".png"

读入图像的方式:

<1>方法一:仅读入一张图片

应用:图片数量较少

缺点:要随时自己填写后面的路径位置

i=imread('E:\数字图像\rice1.png');

<2>方法二:单独读入一个文件夹,在文件夹当中找寻目标图片

好处:可以一次性处理多张图片

[filename,filepath]=uigetfile('.png','输入一个大米的图像');
file=strcat(filepath,filename);
i=imread(file);

*注意*         自己在写读入的时候需要注意文件格式

<说明>       当时在写的时候没有用第二种,只用了第一种写法

减少图片当中的无用信息——图像灰度化、图像二值化

当时做这一块的时候,给我参考比较大的博客,大家可以看看这个:

https://blog.csdn.net/kuishao1314aa/article/details/84798625https://blog.csdn.net/kuishao1314aa/article/details/84798625icon-default.png?t=LA92https://blog.csdn.net/kuishao1314aa/article/details/84798625

就不在这里就具体说内容啦~

欢迎大家和我讨论哦~

如何进行计数呢?

首先先来介绍几个知识点(敲黑板啦~)

腐蚀:

a.消除边界点

b.使边界向内部收缩的过程

c.可以用来消除小且无意义的物体

膨胀:

a.与物体接触的所有背景点合并到该物体中

b.使边界向外部扩张的过程

c.可以用来填补物体中的空洞 

开运算:

a.先腐蚀后膨胀的过程开运算

b.用来消除小物体、在纤细点处分离物体、平滑较大物体的边界的同时并不明显改变面积

c.在需要去除小颗粒噪声,以及断开目标物之间粘连时使用

d.其主要作用与腐蚀相似,与腐蚀操作相比,具有 可以基本保持目标原有大小不变的优点

闭运算:

a.先膨胀后腐蚀的过程称为闭运算

b.用来填充物体内细小空洞、连接邻近物体

c.平滑其边界的同时并不明显改变其面积

对于本课题处理粘连的大米的思路:闭运算->开运算

对于计数:

调用这个函数:L = bwlabel(BW,n)

关于这里的详细内容,大家可以看看TA的:

https://blog.csdn.net/wanrenwangxuejing/article/details/25108191https://blog.csdn.net/wanrenwangxuejing/article/details/25108191icon-default.png?t=LA92https://blog.csdn.net/wanrenwangxuejing/article/details/25108191

<补充说明>        imshow():方法将值标准化为0到1之间的值

下面就是最后的代码啦~

i=imread('E:\数字图像\rice1.png');
i1=rgb2gray(i); %转灰度图像
i2=im2bw(i1);    %二值化
i3 = bwmorph(i2,'close');  %闭运算
imshow(i3)
i4 = bwmorph(i2,'open');  %开运算
figure, imshow(i4)
[L,amount]=bwlabel(i4,8);
fprintf('共有%d个大米!',amount);

运行截图:

说的不对的地方,欢迎大家讨论~

大家有想看原版报告的可以和我私聊嗷~

  • 16
    点赞
  • 58
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
Matlab中进行图像分割的方法有多种,其中一种基于边界的图像分割方法可以用于大米的分割。这种方法可以通过点检测来实现,具体步骤如下:首先,将图像转换为浮点型并进行滤波处理。然后,根据设定的阈值T将像素值转换为二值图像。最后,通过检测边界来实现大米的分割。 除了基于边界的图像分割方法,还可以使用深度学习技术进行图像分割。在Matlab中,可以使用UNet网络进行大米的图像分割。首先,需要生成训练数据集对象,其中包括图像数据和像素标签数据。然后,定义网络结构和参数,设置训练选项,并使用训练数据集进行网络训练。最后,可以导出训练好的模型并进行测试。 因此,你可以根据具体的需求选择合适的方法进行大米的图像分割。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [MATLAB(五) 图像处理--图像分割](https://blog.csdn.net/m0_37565736/article/details/79840487)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [Matlab图像分割(U-Net)](https://blog.csdn.net/Ango_/article/details/115252616)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值