基于matlab的橙子识别与计数研究.doc

上传人:聆听****声音 文档编号:293520 上传时间:2023-04-28 格式:DOC 页数:24 大小:831KB
下载 相关 举报
基于matlab的橙子识别与计数研究.doc_第1页
第1页 / 共24页
基于matlab的橙子识别与计数研究.doc_第2页
第2页 / 共24页
基于matlab的橙子识别与计数研究.doc_第3页
第3页 / 共24页
基于matlab的橙子识别与计数研究.doc_第4页
第4页 / 共24页
基于matlab的橙子识别与计数研究.doc_第5页
第5页 / 共24页
基于matlab的橙子识别与计数研究.doc_第6页
第6页 / 共24页
基于matlab的橙子识别与计数研究.doc_第7页
第7页 / 共24页
基于matlab的橙子识别与计数研究.doc_第8页
第8页 / 共24页
基于matlab的橙子识别与计数研究.doc_第9页
第9页 / 共24页
基于matlab的橙子识别与计数研究.doc_第10页
第10页 / 共24页
基于matlab的橙子识别与计数研究.doc_第11页
第11页 / 共24页
基于matlab的橙子识别与计数研究.doc_第12页
第12页 / 共24页
基于matlab的橙子识别与计数研究.doc_第13页
第13页 / 共24页
基于matlab的橙子识别与计数研究.doc_第14页
第14页 / 共24页
基于matlab的橙子识别与计数研究.doc_第15页
第15页 / 共24页
基于matlab的橙子识别与计数研究.doc_第16页
第16页 / 共24页
基于matlab的橙子识别与计数研究.doc_第17页
第17页 / 共24页
基于matlab的橙子识别与计数研究.doc_第18页
第18页 / 共24页
基于matlab的橙子识别与计数研究.doc_第19页
第19页 / 共24页
基于matlab的橙子识别与计数研究.doc_第20页
第20页 / 共24页
亲,该文档总共24页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

基于matlab的橙子识别与计数研究.doc

《基于matlab的橙子识别与计数研究.doc》由会员分享,可在线阅读,更多相关《基于matlab的橙子识别与计数研究.doc(24页珍藏版)》请在冰点文库上搜索。

基于matlab的橙子识别与计数研究.doc

本科生毕业论文(设计)

题目:

基于MATLAB的橙子识别与计数研究

姓名:

孙娜娇

学院:

工学院

专业:

电子信息科学与技术

班级:

信息123班

学号:

32312308

指导教师:

邹修国职称:

副教授

2016年5月28日

南京农业大学教务处制

目录

摘要 1

关键词 1

Abstract. 1

Keywords 1

引言 2

1 论文概述 2

1.1课题研究目的及意义 2

1.2国内外研究概况 2

1.2.1国外研究概况 2

1.2.2国内研究概况 3

1.3主要研究内容 3

2系统整体设计方案 4

2.1系统整体概况 4

2.2主要技术 4

3系统硬件设计 5

3.1硬件模块选型与设计 5

3.1.1基于S3C2410的控制器 5

3.1.2USB的应用 5

3.1.3无线路由器 7

3.1.4系统电源供电模块的设计 7

3.1.5五自由度机械臂模块 8

3.1.6舵机云台 10

3.1.7模拟机械臂模块 10

3.2硬件系统整体设计 12

4系统软件架构与控制模块间通信 13

4.1智能排障机器人控制系统软件设计 13

4.1.1编写leds指示灯驱动程序 13

4.1.2编写GPIO口驱动程序 14

4.1.3编写机械臂驱动程序 14

4.1.4系统控制模块间通信 14

4.2安卓手机应用软件设计 15

4.2.1软件功能的设计 15

4.2.2Socket与图像显示 16

5系统测试 17

5.1系统测试平台的搭建 17

5.2系统测试步骤 18

5.3测试结果演示 20

6总结与展望 22

6.1总结 22

6.2展望 22

致谢 23

参考文献 24

附录1 25

附录2 26

基于MATLAB的橙子识别和计数研究

电子信息科学与技术专业学生孙娜娇

指导教师邹修国

摘要:

随着计算机技术的快速发展,当代农业的发展也越来越迅速。

目前,国内外的人工水果识别鉴定能力均不能满足实际生产需求。

因而,人们开始不断探索利用计算机自动识别水果的原理和方法,水果识别也因此成为国内外研究的热点。

与传统计算机图像识别技术研究不同的是本课题以近年来热度较高的MATLAB作为研究平台,针对于球状水果,提出了以图像特征灰度化为切入点,用小波去噪和中值滤波相结合的办法对图像进行预处理,以Sobel算子对图像作边缘检测,通过基于形态学的图像特征抽取与分析,最终用分水岭图像分割方法实现目标检测与计数。

该课题充分利用了MATLAB平台在图像处理方面的优势,经过优化和调试,可以快速并且准确地分析出结果。

关键词:

MATLAB;形态学;分水岭算法

GlobularfruitsidentifyandcountbasedonMATLAB

StudentmajoringinElectronicandInformationScienceandTechnologyYangYi

TutorZouXiuguo

Abstract:

Withtherapiddevelopmentofcomputertechnology,modernagriculturegraduallymovingtowarddigital,preciseandintelligent.Currently,artificialfruitsrecognitioncapabilitiesathomeandabroadtoidentifytheactualproductioncannotmeetdemand.Thus,peoplebegantoexploretheprinciplesandmethodsofusingthecomputerautomaticallyrecognizesfruit,fruitrecognitionhasalsobecomeahotresearch.WithtraditionalcomputerimagerecognitiontechnologyisthesubjectofvariousstudiesinrecentyearstoahighheatofMATLABasaresearchplatformforinglobularfruit,putforwardagrayscaleimagefeaturesasthestartingpoint,usingwaveletde-noisingandmedianfilteringcombinedapproachofimagepreprocessing,inordertomaketheimageSobeloperatoredgedetection,image-basedmorphologicalfeatureextractionandanalysis,andultimatelywiththewatershedimagesegmentationmethodstoachievetargetdetectionandcounting.ThesubjectMATLABplatformleveragestheadvantagesofimageprocessing,optimizedandthedebugger,youcanquicklyandaccuratelyanalyzetheresults.

Keywords:

MATLAB;Morphology;Watershedalgorithm

引言图像识别是数字图像处理中的一项关键技术,在图像工程中占据着重要的位置。

从颜色上图像分为彩色图像、灰度图像和黑白图像等。

因此对数字图像的分析可以分为彩色图像分析和灰度图像分析。

彩色图像包含大量信息有助于更准确地分析图像,但也正因为自身信息量较大所以对于机器性能要求较高并且不利于分析速度。

灰度图像信息量小,但是如果只是简单地将彩色图像灰度化,那么可能将丢失大量有用信息,不利于图像分析的准确性。

本文提出一种图像识别思路,它包含对感兴趣区域图像灰度化算法,对特定环境下的图像通过特定算法进行降噪及滤波,运用形态学原理的图像腐蚀、膨胀、重构,最后通过分水岭分割算法的改进算法实现水果个数统计。

所以本课题对球状水果识别和计数研究具有重大意义。

1论文概述

1.1课题研究目的和意义

我国是果树大国,栽培历史悠久,资源丰富。

水果生产作为一项新兴产业,在农业和农村经济发展中的地位已经十分重要,在很多地区己成为农村经济的支柱产业。

纵观世界果园科技的发展,二十一世纪我国的果园也将从传统作业转化到以现代科学技术为基础的现代“集约持续果园”上来。

果园的发展将全面地体现生产、经济、技术、社会和生态的可持续性。

在水果分级方面,我国相继引进和开发了按大小和重量分级的分级设备,近几年国内也出现了基于机器视觉技术的水果分级设备。

但是,进口设备价格昂贵,一般水果生产企业难以负担。

而国产设备由于技术投入不够,与国外先进设备差距比较大。

随着机器视觉技术的发展,国外也出现了将机器视觉运用在水果分级系统上的相关研究,使得国外的水果分级分类系统的性能进一步提高,同时也进一步拉大了我国与国外在水果生产自动化的技术差距。

由于我国的现状,如果不在水果产后处理上下功夫,我国的水果出口形势还会非常严峻,这就要求国内的研究者在水果分级技术进一步钻研,使我国的分级技术再上一个新台阶。

将机器视觉(也称计算机视觉,图像处理)技术引入果园自动化,是解决该问题的有效途径之一。

同时,基于机器视觉的水果自动化系统在水果流通过程也可提高自动化程度、降低劳动强度、增加收益提供快速、准确的检测手段。

1.2水果识别研究现状

上世纪80年代后期,由于计算机广泛生产,计算技术也广泛发展,针对于计算机视觉在各个领域的的研究成果也日新月异。

国外的很多学者在基于计算机视觉技术而提高水果的分级速度方面进行了研究,在理论和应用上有了较大进展,并取得了很好的经济效益。

而我国的水果自动识别技术研究则较晚,仅始于90年代,而且当时从事水果自动分级系统研究的科研院还很少,研究成果也不是很显著,但那却为我国在水果分级方面的研究奠定了基础。

按大小分类是水果识别的一个重要指标。

应义斌研究了利用机器视觉技术精确检测水果尺寸方法[1],章文英、应义斌等针对苹果的外形特征,应用苹果的最小外接矩形(MER)的尺寸表示横径和纵径,取得了较为理想的结果[2],高华、王雅琴用傅立叶半径描述的方法测量水果的大小[3],冯斌、汪懋华以苹果的自然对称形态特征为依据,水果大小检测绝对测量误差最大为3mm[4]。

果实形状是水果品质检测与分级的一个重要指标[5],宁纪锋、何东健等利用图像形态学方法测量果实的形状,准确率很高,最高能达到91.4%[6]。

赵静、何东健提出主要通过半径这个指标,利用人工神经网络对水果的形状进行识别和分级[7]。

应义斌、景寒松等提出采用傅立叶变换与傅立叶反变换对来描述黄花梨的形状[8]。

颜色也是水果检测的重要指标。

冯斌、汪懋华通过对不同颜色等级的水果进行分析,进而对水果进行分级[9]。

何东健、杨青等通过机器视觉自动检测苹果表面着色度,获取彩色图像,并将RGB值转换成HSI值,用合适色相值累计着色面积百分比进行颜色分级[10]。

李庆中、张漫等确定了苹果颜色特征的提取方法,利用遗传算法实现了多层前向神经网络识别器的学习设计[11]。

在国外,机器视觉是70年代开始兴起的,它主要应用于卫星遥感和医学方面。

它不仅是人眼的延伸,而且具有人脑的部分智能识别功能,具有速度快、信息量大、功能多、检测精度和效率高等优点。

随着计算机、控制理论、模式识别、人工智能等技术的发展,机器视觉已广泛应用于军事技术、科学研究、医疗卫生、工农业生产、信息技术等领域。

国外在利用机器视觉技术进行水果分类和计数已经取得较大的进展,国内尚处于探索阶段。

目前,国外已研制出了商用水果自动化系统,并在生产上得到了应用。

1.3课题主要研究内容

(1)本文首先介绍了课题的研究背景及意义,对国内外的水果识别方面的研究应用现状进行了讨论,并重点对国内外水果分级技术研究现状进行了分析。

(2)介绍了一些机器视觉领域基础的方法,提出了针对特定颜色的图像灰度化方法。

(3)讨论了水果图像的预处理过程:

小波去噪、中值滤波以及水果边界提取。

利用小波去噪和中值滤波相结合的办法去除图像噪声。

(4)讨论了水果图像的背景分割,针对水果识别生产线的实际情况,对几种不同的微分梯度算子进行边缘检测实验并对结果进行了对比分析。

(5)基于形态学的腐蚀与重构最大化地从背景中分离出目标区域。

(6)通过改进的分水岭算法分割图像并计数。

1.4研究方法与手段

1.4.1运行环境

运行环境主要介绍了硬件环境和软件环境。

(1)硬件环境

①处理器:

英特尔至强E3

②内存:

8G

③硬盘空间:

1TB

④显卡:

英伟达GTX770

(2)软件环境

操作系统:

Window98/ME/2000/XP/win7/win8/win8.1

1.4.2开发环境

开发环境主要介绍了本系统采用的操作系统、开发语言。

(1)操作系统:

Windows8.1

(2)开发语言:

C

(3)开发环境:

MATLAB2013a

2球状水果识别原理

2.1一般灰度化与选择性灰度化

彩色图像的信息量较灰度图大,如果直接将彩色图像进行运算将耗费大量的硬件资源,不利于算法高效运行,所以算法必需从灰度图像入手。

传统的图像灰度化的计算方式不能针对不同球状水果给出不同的灰度化效果,我们需要将我们最感兴趣的部分提取出来而将对图像分割并没有太大帮助的背景将其隐去。

这就是本论文所用的选择性灰度化的方法。

该灰度化算法的核心就是对彩色图像R、G、B三个量进行重新运算后得到所对应像素的灰度值。

2.2图像增强

2.2.1图像噪声污染

基于机器视觉的水果识别系统是一个复杂系统,图像采集过程中很有可能受到干扰而使采集到的图片含有噪声污染。

若图像含有噪声污染,则图像质量的质量就会降低。

图像质量的降低会影响到识别处理全过程及结果输出,甚至如果噪声太大以至于掩盖原始图像的信息,那么就会出现错误的识别结果。

所以对图像进行图像增强是图像识别之前的必备步骤。

2.2.2图像预处理

图像的预处理,即是将每个水果图像分捡出来交给识别模块识别。

其目的就是提高图像质量。

实验中通过摄像头得到的图片,噪声是对图像干扰的重大原因,所以,我们必须对初步得到的图像进行降噪处理。

一般降噪的方法就是通过滤波器来降噪。

滤波包括空域滤波和频域滤波。

空域滤波是降噪的常用方法。

空域滤波分为线性空域滤波和非线性空域滤波。

线性空域滤波包括线性平均滤波,非线性空域滤波包括中值滤波,自适应维纳滤波,顺序统计滤波。

频域滤波包括低通滤波,高通滤波,带通滤波,同态滤波和小波去噪。

2.2.3小波去噪

在图像去噪领域,小波变换以其自身良好的时频局部化特征,开辟了用非线性的方法去躁的先河。

小波去噪是小波变换较为成功的一类应用。

目前小波去躁的方法大概可以分为三类:

(1)基于小波变换模极大值原理;

(2)基于小波变换系数相关性;

(3)基于小波阈值的去噪方法。

本论文运用的是小波阈值去噪方法。

其根据图像与噪声在各个尺度上的小波系数具有不同特征的特点,按照一定的阈值处理小波系数,小雨预定阈值的小波系数认为是由噪声引起的,直接设置为零,大于预定阈值的小波系数,认为主要是由图像引起的,直接保留下来(硬阈值法)或将其进行收缩(软阈值法),对得到的估计小波系数进行小波重构就可以重建原始图像。

其步骤可分为三步:

去噪图像

小波逆变换

估计小波系数

阈值量化

小波分解系数

小波变换

输入图像

图一:

小波去噪过程

利用小波变换在去除噪声时,可提取并保存对视觉起主要作用的边缘信息。

由于图像预处理的目的是获得边缘信息,因此本论文采用小波去噪的方法去除噪声。

2.2.4中值滤波

中值滤波法是一种非线性平滑技术。

中值滤波可以去除图像中的椒盐噪声,平滑效果优良,在抑制噪声的同时还能够保持图像的边缘清晰。

由于图像处理的目的是提取边缘信息,所以本论文采用了中值滤波的方法去除噪声。

2.3边缘检测

对于灰度图像可以通过形态学的膨胀和腐蚀来获取图像的边界其方法的优点是对边缘的方向的依赖性比较小,缺点是边界信息不清晰;对于灰度图像可以采用算子滤波获得图像的边缘。

算子包括微分算子,Canny算子和LOG算子。

本文采用的微分算子滤波获得边界。

比较有名的微分滤波器算子包括Sobel算子、Prewitt算子和Roberts算子等等。

在边缘检测中,常用的一种模板是Sobel算子。

对于复杂图像一般用Prewitt算子或Sobel算子。

与Prewitt算子相比,Sobel算子滤波能够降低图像的边缘模糊程度,对边界信息保留的较为完整,因此效果更好。

2.4基于形态学的腐蚀与重构

2.4.1对象标记

直接利用微分算子处理过的图像进行分水岭算法往往得不到正确的结果,因为结果中一般都会存在分割过度的情况。

因此通常需要图像进行一系列的处理包括前景对象标记和背景对象标记,这样才可以有比较好的效果。

本文使用形态学的方法来清理图像。

2.4.2膨胀与腐蚀

膨胀和腐蚀是图像形态学的基本操作。

图像形态学的很多操作都是以膨胀和腐蚀为基础推导的算法。

膨胀是将与物体接触的所有背景点合并到该物体上,使边界向外部扩张,通过膨胀可以填充图像中的小孔及在图像边缘处的小凹陷部分。

腐蚀是一种消除边界点。

利用腐蚀可以消除比目标物体小很多的物体。

膨胀和腐蚀操作的核心内容是结构元素。

MATLAB图像处理工具箱中的strel函数可以生成任意维数和形状的结构元素。

Strel函数支持生成一般的形状,例如线型、菱形、圆盘、球形、矩形等结构元素。

对图像进行膨胀可以使用MATLAB图像处理工具箱中的Imdilate函数,用Imerode函数来对图像进行腐蚀,Imerode函数与Imdilate函数的用法类似。

在对图像进行处理时一般是将膨胀和腐蚀结合起来用。

2.4.3形态学开运算和闭运算

形态学的开运算就是对一幅图像先进行膨胀操作,然后再进行腐蚀的操作。

而闭运算恰恰相反,闭运算是先对一幅图像进行腐蚀,然后再对图像进行膨胀操作。

2.4.4形态学重构

形态学重构在概念上可以理解为对标记图像进行重复膨胀,直到标记图像的轮廓适合掩膜图像为止。

在形态学重构中,标记图像的极值点被展开,即膨胀[2]。

形态学的重建是以膨胀运算为基础的,需要指出的是它有下面的特性:

①重建的作用对象是两幅图,一幅是标记图像,一副是掩膜图像;

②重建基于连通性,而不是结构元素;

③重建直到图像不再变化的时候停止。

2.5分水岭图像分割算法

分水岭算法是一种已经发展起来的数学形态学图像分割方法。

这种方法具有计算速度较快、处理结果图像封闭、定位精确等优良特点,因此被广泛应用于图像分割。

但分水岭算法也有缺点,比如它对对微弱边缘也有响应,因此常常会出现过渡分割的现象;比如其思想虽然简单,但是设计方法比较困难,算法的速度较慢,因此图像处理时耗时较长。

3橙子识别算法设计

3.1算法流程图

图3-1球状水果识别算法流程图

3.2算法设计

3.2.1图像预处理

首先,载入一张JPG格式的彩色图像。

将彩色图像分别做一般灰度化与选择性灰度化处理得到两张灰度图。

分别对两张灰度图做小波去噪与中值滤波处理,得到两张经过图像预处理操作后的图像。

3.2.2特征提取

经过图像预处理操作后,由于一般灰度图保留较多图形边缘细节,故算法应该从一般灰度图入手对其进行目标对象的边缘提取工作。

接着将提取到的边缘与经过预处理的选择性灰度化图像叠加得到目标边缘增强的灰度图。

最后通过基于形态学的腐蚀膨胀操作与图像重建计算将粘连的图像进一步分离,提取出图像分割所需的目标区域特征。

3.2.3图像分割

本文利用分水岭算法对图像进行分割,应用该算法需要先标记前景背景。

标记以后的前景背景存在有一些干扰结果的因素主要是孤立的像素与少量空洞,所以我们需要对这些干扰因素进行清理。

最后,应用分水岭算法得出分割结果与计数结果。

4橙子识别算法MATLAB实现

4.1灰度化

首先,初始化MATLAB程序。

clc;clearall;closeall;

接着读取位于F盘的彩色图像4.bmp并存入rgb。

rgb=imread('F:

\picture\4.bmp');

为了提高处理精度,将rgb变成双精度序列并存入I1。

I1=im2double(rgb);

对彩色图像作一般灰度化处理。

R=rgb(:

:

1);

G=rgb(:

:

2);

B=rgb(:

:

3);

gray=G-R;

I2=gray;

对彩色图像进行选择性灰度化处理。

首先将rgb中的R\G\B分量通过简单赋值语句分别存入r、g、b三个变量。

r=double(rgb(:

:

1));

g=double(rgb(:

:

2));

b=double(rgb(:

:

3));

设定提取分量和梯度分量

sr=255;sg=145;sb=15;k=255;

选择性灰度化程序设计获得彩色图像R分量的映射值o_r(i,j);

fori=1:

size(r,1)

forj=1:

size(r,2)

ifr(i,j)

o_r(i,j)=(-k*r(i,j)/sr)+255;

else

o_r(i,j)=k*r(i,j)/(255-sr)+255;

end

end

end

用同样的方法获得彩色图像像素点G、B分量的映射值o_g(i,j)、o_b(i,j)。

最后混合RGB三个映射值并存入I5,I5即是选择性灰度化图像。

fori=1:

size(rgb,1)

forj=1:

size(rgb,2)

I5(i,j)=uint8((o_r(i,j)+o_g(i,j)+o_b(i,j))/3);%混合RGB三通道

End

End

图4-1图像提取分量对比

由图4-1中红绿蓝三种分量的提取结果可以看出针对橙子所表现出来的绿色与蓝色分量,选择性灰度化将其最大化地凸显,而对于红色分量,选择性灰度化则作出了屏蔽。

图4-2一般灰度化与选择性灰度化对比图

由图4-2可以看出,对原图做选择性灰度化处理可以有效地突出检测主体。

4.2图像预处理

图像预处理主要工作是按需要对图像进行适当的变换来突出某些有用的信息,去除或削弱无用的信息。

本文结合了小波去噪与中值滤波的特点,去噪的同时又可以尽量保留细节。

对一般灰度图像I2进行小波去噪和中值滤波

[thr,sorh,keepapp]=ddencmp('den','wv',I2);

I3=wdencmp('gbl',I2,'sym4',2,thr,sorh,keepapp);

I4=medfilt2(I3,[55]);

图4-3一般灰度图降噪滤波前后

用同样方法对选择性灰度图做小波去噪和中值滤波效果如图4-4所示。

图4-4选择性灰度化降噪滤波前后

4.3边缘识别与增强

通过以上两个步骤,我们获得了都经过降噪和滤波处理的一般灰度图像和选择性灰度图像。

选择性灰度图在特征提取的过程中边缘有所损失,需要增强边缘以便于后面的图像分割能够准确完成。

但是实验中发现,相比于选择性灰度图像,一般灰度图像保留了原始的图像边缘有利于边缘增强,如图4-5。

所以,本文采用从一般灰度图提取边缘信息再与选择性灰度图叠加来实现选择性灰度图的边缘增强。

MATLAB实现方法如下:

hy=fspecial('sobel');

hx=hy';

Iy=imfilter(double(I4),hy,'replicate');

Ix=imfilter(double(I4),hx,'replicate');

I9=-sqrt(Ix.^2+Iy.^2);

图4-5sobel算子边缘提取结果

最后将从一般灰度图提取边缘信息与选择性灰度图叠加完成图像增强。

I=imadd(I8,I9);

图4-6图像边缘增强效

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 工程科技 > 电子电路

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2