2014IEEEWorkshoponElectronics,ComputerandApplications1图像处理在印刷电路板检测中的应用摘要:电路板不可避免的因为外观不整洁,阻焊膜的不均匀,在生产印刷电路板走线和焊盘的损害而出现缺陷。本文设计了一个电路板图像采集的系统。应用数字图像处理技术对采集到的图像的分析,图像预处理,图像增强,边缘检测,二值处理等方法已经用于提高图像质量。在提取和识别缺陷板中,经常用差值法通过比较和匹配的缺陷图像和模板图像来检测缺陷板。关键字:电路板图片,图像增强,边缘检测,二值化,差值法0引言现代电子设备的质量靠的不仅是电子组件的质量和性能,而且很大程度上取决于印刷电路板质量。不可避免的,电路板因为外观不整洁,阻焊膜的不均匀性,在生产印刷电路板走线和焊盘的损害而出现缺陷。在线检测是一个必要的部分以确保电路板的质量。在本文中将介绍对最终板的检测系统,这对保证生产质量有重大意义。电气和光学检测是两种印刷电路板的质量检查方法。基于图像处理的视觉检测技术成为一个热门的研究方向,它具有非接触、速度快、适当的精度、较强的抗干扰能力等优点。印刷电路板的图像视觉检测系统可以识别这些缺陷如坏焊点,通过数字图像处理和识别技术,即使对于焊接,铜和铂断裂点、短路等问题也能识别。图像处理有两个目的,一个是生成更适合人类观察识别的图像,另一种是自动识别和理解图像。该系统包括图像采集系统、图像增强、边缘检测、缺陷检测。我们试着用差值法的方法实现缺陷印刷电路板的检测。这个系统的目的提供一个在线的、快速、准确的检测印刷电路板系统作为基础,从而该进实际操作。1图像采集系统图1显示了印刷电路板的图像采集系统。该系统是由给料机、光源、传送带、CCD摄像机和控制板组成。传送带用于自动传输待检测的电路板。根据要求,我们固定CCD相机在与电路板垂直的位置。图1、检测系统传送速度应匹配CCD图像采集速度。整个处理过程由三个步骤组成。首先,电路板应该尽可能放置在明亮的背景,通过调节光学透镜,调节CCD相机分辨率和曝光时间,电路板图像由CCD收集保存到电脑。然后进行图像预处理和特征提取。最后输出结果,分类成合格和不合格的板子。2图像增强图像灰度变换和图像平滑是两种图像增强的方法。灰度校正是一个简单和有效的在空域进行图像增强的方法。它主要包括图像直方图均衡化,增加对比度和直方图修正。根据不同的需求选择不同的图像修正方法。基于灰度转换理论,结合图像比例转换2014IEEEWorkshoponElectronics,ComputerandApplications2方法,本文实现了二维图像灰度均衡。转换公式如下:其中:Ms-最小灰度值Mf-最大灰度值f(x,y)-原始图像矩阵g(x,y)-转换图像矩阵图2是印刷电路板的灰色增强图像,a)是原始图像,b)灰色图像增强处理。灰度变换处理可以提高动态范围,扩大图像对比度,使图像更清晰。a)原始图像b)增强图像图2、灰度增强图像3边缘检测对象的边缘反应在不连续的灰度级。根据边缘特征它可以分为阶跃式边缘和剧变式边缘。边缘检测的目的是获取图像的外部轮廓特征。在本文中,边缘检测的实验通过对收集的电路板使用不同的经典算子。图3显示了边缘检测图像。我们可以看到,Roberts,Sobel和Prewitt算子对边缘检测的斑点有更好效果,而Log和Canny算子的在电路板的连线有更好的检测效果。所以我们可以对不同探测目标选择不同的边缘检测算子。图3、不同操作符的边缘提取4图像二值化传统边缘检测运算通常有以下缺陷:提取错误边缘,噪音敏感,光圈效应。边缘检测是图像二值化的基础。二值化图像是只具有黑白颜色的图像,它是在本质是像素分类的过程,它是一个获取图像轮廓的重要技术。数学形态学操作可用于消除小对象,分离对象,平滑大对象的边界并且没有明显的区域改变。形态学开口操作首先提出来在原始图像的焊点检查过程中的削弱窄的部分和获得的背景图像,例如示在图4中的a)图。原始灰度图像的减法处理和背景图像的灰度增强图像,在图b)中。形态学增强的图像二值化检测可以实现更好的检测的焊点,如图5所示。a)背景图像b)增强图像ffsyxfbbyxfaayxfdbyxfbMdMCyxfabcdyxfacyxM),(),(),(0]),()][/()[(),()]/()[(),()/(),(g2014IEEEWorkshoponElectronics,ComputerandApplications3图4、形态学增强图5、焊点的二值化5基于差值法的缺陷检测图像背景差值运算可以发现图像之间的区别,并且可以用于指导动态监控,运动目标检测与跟踪,图像背景消除和图像识别等。它必须保证图像对应于同一目标点,否则必须首先做到几何校正和匹配。在处理过程中红噪声将被提取并仅留下缺陷特性,从而达到识别和分类的目的。图6是差值法得到的缺陷检测图像,a)是待检测图像,b)是模板图像,c)是缺陷图像6总结本文分析了基于图像的印刷电路板处理技术的二值化和缺陷检测系统。该系统由图像采集、图像增强、边缘检测、图像分二值化和缺陷检测方法。MATLAB编制的预处理和形态分析为在线快速检测印制电路板提供了坚实的基础。通过强大的数字图像处理能力,这种方法可以高效、快速、精确的执行。参考文献[1]XiongZhenjiao.ResearchontheDetectionMethodBasedonImageforDefectinCircuitBoard.[M].SchoolofInformationEngineeringNanchangHangkongUniversity,2012.[2]N.G.Shankar,Z.W.Zhong.Defectdetectiononsemiconductorwafersurfaces[I].MicroelectronicEngineering,2005:337-346.[3]JIANGKe-wan,WUQi.ApplicationofImageRecognitionTechnologyinPCBPrecision[4]XiongBangshu,XiongZhenjiao,MoVan.DetectionMethodofPrintedCircuitBoardDefect[5]S-JKo,LeeYH.CenterWeightedMedianFilterandtheirApplicationtoImageEnhancement[6]LiuHe.Digitalimageprocessingandapplication[M].ChinaElectricPowerPress,2005[7]ZhaoChunhui.ModernImageProcessingTechnologyandMatlabRealization[M].BeijingPeople'PostsAndTelecommunicationspress,2001.[8]K.RCastleman.DigitalImageProcessing.NewyorkPrenticeHall,1998.[9]BinHe.DigitalImageProcessing[M].BeijingPeople'PostsAndTelecommunicationsPress,2001[10]ZhouIinping.MATLAB6.5ImageProcessingandApplicationExamples[M].Beijing:Science2014IEEEWorkshoponElectronics,ComputerandApplications4本文创新点:(1)本文并没有提出数字图像处理算法的改进,而是创新性的将图像处理技术应用到印刷电路板的检测中,能够实现电路板中焊盘和走线问题的检测,在嵌入式开发中,在硬件调试中,经常由于电路板的问题而需要大量的调试时间,并且调试过程极为繁琐,而本文提出的基于图像处理的视觉检测技术具有非接触、速度快、适当的精度、较强的抗干扰能力等优点。(2)本文实现的检测系统算法如图像采集、图像增强、边缘检测、图像分二值化算法实现简洁、高效,研究透彻,实用性强。进一步工作的展望:(1)本文的算法大部分还是有matlab实现,在今后便于工程应用统一用C++实现。并进一步优化已有的程序代码,提高软件性能。(2)在本文的差值法缺陷检测算法中,仅仅应用在把获得的标准板和待检测的边缘板求差值来检测PCB的缺陷,即利用参考法实现检测。设想在另一方面的应用是,可以采用适当的方法进行色彩的填充,对模板的边缘也加以适当的颜色,经过着色处理后,得到高质量的真彩色标准模板。(3)本文研究的内容还处于理论分析、算法研究的阶段,如何有效的移植到实际工业生产环境中,还需考虑算法在一些工业测控软件及仪表技术中如何有效的实现。相关代码:(1)灰度变换图像增强%GRAYTRANSFORMclc;I=imread('pic.tif');imshow(I);J=imadjust(I,[0.30.7],[01],1);%transformsthewaluesinthe%intensityimageItovaluesinJbylinealymapping%valuesbetween0.3and0.7tovaluesbetween0and1.figure;imshow(J);J=imadjust(I,[0.30.7],[01],0.5);%ifGAMMAislessthan1,themappingsiweightedtowardhigher(brighter)%outputvalues.figure;imshow(J);J=imadjust(I,[0.30.7],[01],1.5);%ifGAMMAisgreaterthan1,themappingsiweightedtowardlower(darker)%outputvalues.figure;imshow(J)J=imadjust(I,[0.30.7],[01],1);%IfTOPBOTTOM,theoutputimageisreversed,asinaphotographicnegative.figure;imshow(J);(2)不同算子实现边缘检测1、用Prewitt算子检测图像的边缘I=imread('pic.BMP');BW1=edge(I,'prewitt',0.04);%0.04为梯度阈值figure(1);imshow(I);figure(2);imshow(BW1);2、用不同σ值的Log算子检测图像的边缘I=imread('pic.BMP');BW1=edge(I,'log',0.003);%σ=2imshow(BW1);title('σ=2')BW1=edge(I,'log',0.003,3);%σ=3figure,imshow(BW1);title('σ=3')3、用Canny算子检测图像的边缘I=imread('pic.BMP');imshow(I);BW1=edge(I,'canny',0.2);figure,imshow(BW1);2014IEEEWorkshoponElectronics,ComputerandApplications5(3)图像二值化I=imread('pic.jpg');figure,imshow(I)[x,y]=size(I);%求出图象大小b=double(I);z0=max(max(max(I)));%求出图象中最大的灰度z1=min(min(min(I)));%最小的灰度T=(z0+z1)/2;%T赋初值,为最大值和最小值的平均值TT=0;%TT赋初值S0=0.0;n0=0.0;%为计算灰度大于阈值的元素的灰度总值、个数赋值S1=0.0;n1=0.0;%为计算灰度小于阈值的元素的灰度总值、个数赋值allow=50;%新旧阈值的允许接近程度d=abs(T-TT);count=0;%记录几次循环while(d