【资源说明】
1.项目代码均经过功能验证ok,确保稳定可靠运行。欢迎下载食用体验!
2.主要针对各个计算机相关专业,包括计算机科学、信息安全、数据科学与大数据技术、人工智能、通信、物联网等领域的在校学生、专业教师、企业员工。
3.项目具有丰富的拓展空间,不仅可作为入门进阶,也可直接作为毕设、课程设计、大作业、初期项目立项演示等用途。
4.当然也鼓励大家基于此进行二次开发。在使用过程中,如有问题或建议,请及时沟通。
5.期待你能在项目中找到乐趣和灵感,也欢迎你的分享和反馈!
【项目介绍】
基于图像处理的水果识别系统matlab完整源码+报告+答辩PPT+详细注释+说明文档.zip
一、设计方案
在计算机中,图像由像素逐点描述,每个像素点都有一个明确的位置和色彩数值。使用 Matlab 软件读取图像,以矩阵形式存放图像数据,其扫描规则是从左向右,从上到下。
对于一副水果图像为了处理方便,我们首先要把彩色图像转化为灰度图像。然后对图像进行二值化处理来获得每个水果的区域特征。
在水果与背景接触处二值化会导致图像边缘部分有断裂,毛躁的部分。所以采用边缘提取以弥补断裂的边缘部分,然后基于数学形态算子对图像进行去除断边,图像填充等必要的后续处理。经过图像分割后,水果和背景很明显地被区分开来,然后需要对每种水果的特征进行提取。
先对图像进行标签化,所谓图像的标签化是指对图像中互相连通的所有像素赋予同样的标号。经过标签化处理就能把各个连通区域进行分离,从而可以研究它们的特征。
二、关键技术
(一)图像二值化
# 1、灰度化
% 将真彩色图像 i 转化为灰度图像 I
I=rgb2gray(i);
在 RGB 模型中,如果 R=G=B 时,则彩色表示一种灰度颜色,其中 R=G=B 的值叫灰度值,因此,灰度图像每个像素只需一个字节存放灰度值(又称强度值、亮度值),灰度范围为0-255。
# 2、二值化
% level 为阈(yu) 值,取值从0到1.
% 本项目考虑到图片背景颜色为白色,亮度较大,因此选取 `level=0.9` 来实现二值化。
I=im2bw(i,level)
一幅图像包含目标物体、背景还有噪声,要想从多值的数字图像中直接提取出目标物体,最经常使用的方法就是设定一个全局的阈值 T,用 T 将图像的数据分成两部分:大于 T 的像素群和小于 T 的像素群。将大于 T 的像素群的像素值设定为白色(或者黑色),小于 T 的像素群的像素值设定为黑色(或者白色)。
比方:计算每个像素的(R+G+B)/3,假设>127,则设置该像素为白色,即R=G=B=255;否则设置为黑色,即R=G=B=0。
二)边缘提取
# 1、开运算
I=imopen(i,SE);
先腐蚀后膨胀的过程称为开运算。(看上去把细微连在一起的两块目标分开了)
开运算作用:可以使边界平滑,消除细小的尖刺,断开窄小的连接,保持面积大小不变等。
I=imerode(i,SE);
腐蚀运算作用:消除物体边界点,使边界点向内部收缩,可以把小于结构元素的物体去除。
膨胀的作用:将与物体接触的所有背景点合并到物体中,是目标增大,可填补目标中的空洞。
# 2、数学形态学运算
% bwmorph 函数是对图像进行指定的形态学操作。
% ‘remove’即代表如果一个像素点的4邻域都为1, 则该像素点将被置0;该选项将导致边界像素上的1被保留下来。
I=bwmorph(i,'remove');
提取图像种水果的边界用于标记各个区域
, 相关下载链接:
https://download.csdn.net/download/Runnymmede/88646294?utm_source=bbsseo