图像识别技术设计已完成.docx

上传人:b****2 文档编号:17756939 上传时间:2023-08-03 格式:DOCX 页数:21 大小:766.78KB
下载 相关 举报
图像识别技术设计已完成.docx_第1页
第1页 / 共21页
图像识别技术设计已完成.docx_第2页
第2页 / 共21页
图像识别技术设计已完成.docx_第3页
第3页 / 共21页
图像识别技术设计已完成.docx_第4页
第4页 / 共21页
图像识别技术设计已完成.docx_第5页
第5页 / 共21页
图像识别技术设计已完成.docx_第6页
第6页 / 共21页
图像识别技术设计已完成.docx_第7页
第7页 / 共21页
图像识别技术设计已完成.docx_第8页
第8页 / 共21页
图像识别技术设计已完成.docx_第9页
第9页 / 共21页
图像识别技术设计已完成.docx_第10页
第10页 / 共21页
图像识别技术设计已完成.docx_第11页
第11页 / 共21页
图像识别技术设计已完成.docx_第12页
第12页 / 共21页
图像识别技术设计已完成.docx_第13页
第13页 / 共21页
图像识别技术设计已完成.docx_第14页
第14页 / 共21页
图像识别技术设计已完成.docx_第15页
第15页 / 共21页
图像识别技术设计已完成.docx_第16页
第16页 / 共21页
图像识别技术设计已完成.docx_第17页
第17页 / 共21页
图像识别技术设计已完成.docx_第18页
第18页 / 共21页
图像识别技术设计已完成.docx_第19页
第19页 / 共21页
图像识别技术设计已完成.docx_第20页
第20页 / 共21页
亲,该文档总共21页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

图像识别技术设计已完成.docx

《图像识别技术设计已完成.docx》由会员分享,可在线阅读,更多相关《图像识别技术设计已完成.docx(21页珍藏版)》请在冰点文库上搜索。

图像识别技术设计已完成.docx

图像识别技术设计已完成

摘要

数字图像处理(DigitalImageProcessing)的任务是实现图像增强、复原、编码、压缩等,其主要为改善图像的质量,以人为对象,且以改善人的视觉效果为目的。

目前,图像处理系统应用领域广泛医学、军事、科研、商业等领域。

因为数字图像处理技术易于实现非线性处理,处理程序和处理参数可变,故是一项通用性强,精度高,处理方法灵活,信息保存、传送可靠的图像处理技术。

本设计的数字图像处理与识别技术系统以数字图像处理理论为基础,基于Matlab工具工作环境设计,能很好、快速的应用于识别本专业以后将要经常使用的电子元器件。

主要作用为识别相同元器件的个数,相对于传统的机械识别具有安全性高,非接触性,高速度等特点。

此种数字图像处理算法可以广泛应用于各个行业的相同或相近的物品识别,从而大大提高生产效率。

关键字:

数字图像;图像处理;图像识别;Matlab;元器件.

 

Abstract

DigitalImageProcessing,thetaskistorealizetheImageenhancement,recovery,coding,compression,itsmainforimprovingthequalityofimages,adheretotheobject,andtoimprovethepersonforthepurposeofvisualeffect.Atpresent,imageprocessingsystemiswidelymedicine,militaryandscientificresearch,business,etc.Thedesignofthedigitalimageprocessingandrecognitiontechnologyinthedigitalimageprocessingsystembasedonthetheoryoftheworkingenvironment,basedonMatlabtooldesign,canbeverygood,rapidappliedtoidentifythemajoroftenusedelectroniccomponents.Mainfunctionforthesamenumberofcomponents,theidentificationofthetraditionalmechanicalidentificationwithahighlevelofsecurity,non-contact,highspeed,etc.Thedigitalimageprocessingalgorithmscanbewidelyusedinvariousindustriesofthesameorsimilargoodsidentification,whichgreatlyimprovetheproductionefficiency.

Keywords:

Digitalimage,Imageprocessing,Imagerecognition,Matlab,Components.

 

前言

数字图像处理(DigitalImageProcessing)又称为计算机图像处理,它是指将图像信号转换成数字信号并利用计算机对其进行处理的过程。

数字图像处理最早出现于20世纪50年代,当时的电子计算机已经发展到一定水平,人们开始利用计算机来处理图形和图像信息。

数字图像处理作为一门学科大约形成于20世纪60年代初期。

早期的图像处理的目的是改善图像的质量,它以人为对象,以改善人的视觉效果为目的。

图像处理中,输入的是质量低的图像,输出的是改善质量后的图像,常用的图像处理方法有图像增强、复原、编码、压缩等。

首次获得实际成功应用的是美国喷气推进实验室(JPL)。

他们对航天探测器徘徊者7号在1964年发回的几千张月球照片使用了图像处理技术,如几何校正、灰度变换、去除噪声等方法进行处理,并考虑了太阳位置和月球环境的影响,由计算机成功地绘制出月球表面地图,获得了巨大的成功。

随后又对探测飞船发回的近十万张照片进行更为复杂的图像处理,以致获得了月球的地形图、彩色图及全景镶嵌图,获得了非凡的成果,为人类登月创举奠定了坚实的基础,也推动了数字图像处理这门学科的诞生。

因为数字图像处理技术易于实现非线性处理,处理程序和处理参数可变,故是一项通用性强,精度高,处理方法灵活,信息保存、传送可靠的图像处理技术。

本图像识别统计装置设计数字以数字图像处理理论为基础,基于Matlab工具工作环境设计,能很好、快速的应用于识别本专业以后将要经常使用的电子元器件。

主要作用为识别相同元器件的个数,相对于传统的机械识别具有安全性高,非接触性,高速度等特点。

此种数字图像处理算法可以广泛应用于各个行业的相同或相近的物品识别,从而大大提高生产效率。

 

1.设计要求

主要运用图像处理的综合方法实现,把均值滤波增强,腐蚀运算和膨胀运算,开运算,灰度变换等相结合,来实现本次设计:

1)设计一套符合应用场合的图像采集装置测量装置。

2)详细写出图像采集装置和测量装置的组成部件以及参数。

3)详细列出图像采集和测量的使用环境。

4)设计处理的流程。

5)对实验使用的关键原理作以介绍。

2.功能介绍

本设计为小功率的三极管元件图像识别统计装置,通过数码相机获取平铺无重叠堆积的三极管的图像,并通过Matlab工具处理后统计三极管的数目。

通过控制控制数码相机的拍摄实现拍摄—统计—拍摄的过程。

可以由MCU实现三极管的传送,上位机实现统计显示。

本装置的统计方式为软件识别,与传统的机械清点相比具有速度快,损耗低等特点,目前的缺陷就是清点精度相对比较的低。

3.总体方案设计

功能模块划分

本装置有检测传送控制、图像拍摄、软件处理三部分组成,MCU主要负责三极管的取送,数码相机负责图像的获取;而具体的任务分配及数据处理则由处理能力强大的上位机(PC机)来完成。

总体功能可由下图表示:

 

 

图3-1整体功能模块示意图

MCU传送控制流程

装置MCU控制传送的元件块分块及传送速度。

其与数码相机存在控制通讯接口,逻辑关系如下图所示:

 

图3-2MCU传送控制

数码相机拍摄

数码相机获取的图片是后续程序处理的基础,所以在得到的图片质量上要有好的保证。

比如图像的曝光度,解析度,对比度、色调等,所以有必要调整光照,设定好元件放置处的背景色。

其中调整光照可以由MCU一并控制。

数码相机的启停可由MCU控制,也可由PC控制,但图片所涉及的数据量大,要求失真度低,图像数据传输通讯接口可采用USB接口。

软件处理流程

 

图3-3软件处理流程

4.图像处理

图像格式转换

取的图像格式为RGB彩色图像,需要先将其转换为8位256级的灰度图像。

本程序采用Matlab的图像处理工具箱的函数rgb2gray来实现。

rgb2gray()

功能:

转换RGB图像或颜色映像表为灰度图像。

语法:

I=rgb2gray(RGB)

newmap=rgb2gray(map)

去噪及特征提取

图4-1灰度图及其直方图

上图4-1为三极管统计的局部图片,图中可见,三极管的主体部分很背景及管脚有着明显的区别,可以通过选取合适的阈值进行二值化,从而提取出每个三极管的特征。

图4-2为此图像的直方图,从图中可见到比较明显的阈值分界点,但是并不是非常的明显,这是因为,图中有很多的三极管因为反光的缘故,导致主体部分有些发白,如图4-3所示。

 

 

图4-2需要进一步处理的地方

灰度调整

对于这些发白部分,我们采用灰度调整及中值滤波进行处理,在matlab中,提供了两个函数进行相应的操作,其中imadjust进行灰度调整,其用法如下

Imadjst(f,[low_inhigh_in],[low_outhigh_out],gamma)

Gamma所表示的意义:

>1--------凹曲线

<1--------凸直线

=1--------直线

medfilt2用于进行中值滤波处理,其用法如下

F=medfilt2(f,[mn]);

f为输入图像

[mn]为中值滤波模板

F是中值滤波后输出的图像。

图4-1经过灰度调整及中值滤波后的图像如图4-4所示,可见,经过中值滤波后,三极管的主体部分有了较大的改善。

 

图4-3灰度处理中值滤波后图像

图4-4灰度调整中值滤波后的直方图

二值化处理

经过滤波后,即可对图像进行二值化处理,首先,我们采用人工选择阈值的方法进行二值化,由图可见,对于本幅图片,其合适的阈值在50~100之间,通过试验,我们选取的值为80。

对图像二值化处理的程序如下:

[M,N]=size(F);

forx=1:

M

fory=1:

N

ifF(x,y)<80

F(x,y)=0;%低于阈值的值黑

else

F(x,y)=255;%高于阈值的值白

end

end

end

处理后的图像如图4-6所示:

 

图4-5二值化后结果

阈值分割

当然仍有许多模糊的三极管管脚残影,但已经将三极管的主体很好的识别了出来,采用人工选择阈值的方法虽然可以成功分离出三极管的主体,但是这个阈值这是针对这张图片有效,对于获取的其它图片,这个阈值并不能正确地对图像进行二值化处理,因此我们决定采用自动阈值分割的方法来对图像进行二值化。

我们所选用的自动阈值分割方法为Otsu法,它是一种使类间方差最大的自动确定阈值的方法,该方法具有简单、处理速度快的特点,是一种常用的阈值选取方法。

在matlab中,提供了一个函数graythresh来实现Otsu法阈值分割,其用法如下:

T=graythresh(f);

其中,f为待进行阈值分割的灰度图像,T为返回的分割灰度比例,将其乘于256即为Otsu法划定的分割阈值。

优化后的程序如下:

T=graythresh(F);

T=T*256;

[M,N]=size(F);

forx=1:

M

fory=1:

N

ifF(x,y)

F(x,y)=0;%%低于阈值的置黑

else

F(x,y)=255;%%低于阈值的置白

end

end

end

 

采用Otsu法进行阈值二值化后的图像如图4-7所示:

 

图4-6Otsu法阈值分割后图像

由上可见,不管是采用人工阈值还是Otsu法自动阈值分割,仍然会残留很多的三极管管脚,它们将会严重干扰到对三极管的统计,对于这些噪声,我们采用图像形态学中的闭运算来进行处理,闭运算的原理是先对图像进行腐蚀后再进行膨胀,matlab提供了函数imclose来实现图像的闭运算。

其格式为:

F=imclose(f,B);

其中,B为结构元素,可由以下两种办法生成

(1)B=ones(n);

(2)B=strel(‘type’,[mn]);

Type可以取以下的值

square生成一个m*n方形矩阵

line生成一条长度为m,斜率为n°的直线

disk生成一个m*n大小的蝶形

ball生成一个m*n大小的球形

滤除三极管管脚后的结果如图4-8所示。

图4-7去噪后的局部图像

由图中可见,噪声被有效的滤除了,但是,去除了噪声的同时,也使部分接触紧密的三极管在闭运算后连成一个整体,如图4-8中的红圈所示,因此在此后的识别统计中需要对其进行特殊的处理。

 

5.识别统计

图像反色

将以上处理过后的图像反色,如图4-10所示

图4-8反色后的图像

函数bwlabel统计

三极管数目的统计采用函数bwlabel来实现.

bwlabel功能:

标注二进制图像中已连接的部分,并将每个连同的部分标上相同的序号。

语法:

L=bwlabel(BW,n),[L,num]=bwlabel(BW,n)

统计的过程如下:

1)通过bwlabel计算出图像中所以的连通区域的数目,这包括了单个、两个、及三个以上的三极管。

2)计算每个连通区域的大小,根据大小判断其中包括的三极管数目,分别计算两个三极管,三个三极管,及三个以上三极管的数目。

3)将上面各项统计结果加起来即为三极管的数目。

具体程序如下:

%对图像贴标签

[LN]=bwlabel(F1,8)

Sum=[];

%统计每个标签的数量

fori=1:

N

[r,c]=find(L==i);

rc=[rc];

Num=length(rc);

Sum([i])=Num;

end

%根据每个标签数量,分别统计2个,3个,4个三极管的数量

fori=1:

length(Sum)

if(Sum([i]))>2000

N=N+3;

elseif(Sum([i]))>1450

N=N+2;

elseif(Sum([i]))>900

N=N+1;

end

end

 

图4-9Matlab统计分析

经过统计,如图4-11所示,该幅图像的三极管数目约为481个。

6.完整设计程序

完整程序如下所示:

clearall;

closeall;

f=imread('');

F=rgb2gray(f);

figure;imshow(F);title('原图');

figure;imhist(F);title('直方图');

F0=imadjust(F,stretchlim(F),[01]);

Ft=medfilt2(F0,[55]);

figure;imshow(Ft);title('灰度调整,中值滤波后的图像');

figure;imhist(Ft);title('灰度调整,中值滤波后的直方图');

T=graythresh(Ft);

T=T*256-5;

[M,N]=size(Ft);

forx=1:

M

fory=1:

N

ifFt(x,y)

Ft(x,y)=0;%低于阈值的值黑

else

Ft(x,y)=255;%高于阈值的值白

end

end

end

figure;imshow(Ft);title('二值化结果');

B=ones(10);

F0=imclose(Ft,B);

figure;imshow(F0);title('闭运算');

F1=imadjust(F0,[0,1],[1,0],1);

figure;imshow(F1);title('反色');

%对图像贴标签

[LN]=bwlabel(F1,8)

Sum=[];

%统计每个标签的数量

fori=1:

N

[r,c]=find(L==i);

rc=[rc];

Num=length(rc);

Sum([i])=Num;

end

%根据每个标签数量,分别统计2个,3个,4个三极管的数量

fori=1:

length(Sum)

if(Sum([i]))>2000

N=N+3;

elseif(Sum([i]))>1450

N=N+2;

elseif(Sum([i]))>900

N=N+1;

end

end

 

7.总结体会

通过本本设计为小功率的三极管元件图像识别统计装置的设计,目前的缺陷就是清点精度相对比较的低。

不仅使我们对上位机、MCU等控制系统、通信系统进一步增加了了解,而且在Matlab中关于图像处理方面的函数有了更深入的了解,同时在试验过程中我们也试验了多种的图像处理方法,如平滑滤波,高斯低通滤波等等,进一步掌握了图像处理的一些常用方法,对图像形态学操作也有了深入的学习与掌握,了解了图像形态学操作的重要作用。

在此一并感谢赵老师、罗老师这一学期以来的指导与教诲,两位老师不仅给了我们学习上的指导,对我们的生活也给了无微不至的关心,在思想上更是如此。

两位老师平日里工作繁多,但在我做课程设计的每个阶段,从选题到查阅资料,提纲的确定,中期的修改,后期课程设计格式调整等各个环节中都给予了我悉心的指导。

除了敬佩两位老师的专业水平外,您们治学严谨和科学研究的精神也是我永远学习的榜样,并将积极影响我今后的学习和工作。

在这样的教诲下,掌握了坚实的专业知识基础,为我以后的学习生活提供了源动力。

 

参考文献

[1]胡学龙等著数字图像处理电子工业出版社,.

[2]朱衡君编著MATLAB语言及实践教程清华大学出版社,2005.

[3]陈怀琛.MATLAB机器在理工科课程中的应用.西安电子科技大学出版社,2007.

[4]董长虹等.MATLAB信号处理与应用国防工业出版社,2005.

[5]李在铭.数字图像处理、压缩与识别技术电子科技大学出版社,2000.

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

当前位置:首页 > 自然科学 > 物理

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

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