ImageVerifierCode 换一换
格式:DOC , 页数:27 ,大小:1.24MB ,
资源ID:3010733      下载积分:10 金币
快捷注册下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/3010733.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(基于图像处理的瓶装杂质检测系统设计毕业设计论文.doc)为本站上传会员【可****】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

基于图像处理的瓶装杂质检测系统设计毕业设计论文.doc

1、 技术论文 论文题目: 基于图像处理的瓶装杂质检测系统设计(附程序) 完成时间:2015年6月16日 摘 要 随着图像处理技术的快速发展,该技术已经被应用于军事,航空,医疗与工业等很多领域。在医药生产厂与饮料制造厂相关领域有着广阔的发展前景并且意义深远,目前很多厂家尤其国内相关行业的产品杂质检测还停留于人工检测阶段,即用肉眼识别,这种传统方法耗时耗力。若采用图像处理技术来实现杂质检测的自动化,可以大大节约费用开支,减少工人工作量。本文对瓶装液体的杂质检测进行了相关研究,提出了检测液体杂质的算法,并

2、搭建了硬件平台。整体系统实现预期效果,为后续的实际应用奠定了基础。 本文通过软件算法与硬件结构的配合,实现了模拟流水线作业的瓶装液体杂质检测系统。其中,软件部分识别算法主要用OpenCV开源库实现该功能,分别用到了滤波、二值化、图像形态学处理、轮廓检测、轮廓绘制等系列函数体,通过恰当的搭配与参数的设置,完成较好的效果;电脑界面部分用MFC编制而成,实现人机交流并能显示检测效果与实时报警。硬件平台的搭建主要是位置的安排与结构的设计等,为配合软件算法的实现,设计出适应本系统的硬件相关设备。用一台黑白CMOS工业摄像头作为采集设备,图像信息传输到电脑。并且通过FPGA采集红外对管信号,通过串口发送

3、和接收数据,来实现摄像头的自动抓拍,并且FPGA驱动小液晶屏实现报警功能。通过这几者的结合,完成该功能的设计并达到预期目标。 本文对实现杂质检测的算法进行了研究,提出了集中检测的方法和相关的实验效果图,正文中将对此进行详细叙述。对硬件光照等结构也进行了相关的调研与研究,最后确定一套切实可行的方案。 所以,基于本套系统,可以开发出适用于各种涉及到检测的厂商流水线车间,大大提高生产效率。尤其硬件部分有很大提升的空间,如在瓶子下部加入急速旋停电机来让杂质在液体中间部分漂浮,提高光源质量使摄像头识别杂质更加清晰,以及较好的设备固定与角度测量可以让硬件的功能充分发挥,都可以使得该系统精度大大提升。在

4、将来的规划中,可以把算法程序移植入FPGA中,并且配有显示屏,这样可以减小系统的体积,更加方便安装与转移。 关键字:OpenCV、机器视觉、图像处理、轮廓提取 Abstract Along with the imagery processing technology fast development, this technology is already applied in the military, the aviation, the medical service and the industry and so on very many domains.Has the broa

5、d prospects for development in the medicine plant and the drink factory correlation domain and the significance is profound, at present the very many factory especially domestic correlation profession product impurity examination also pauses in the manual examination stage, namely with the recogniti

6、on by eye, this traditional method consumes time expends effort.If uses the imagery processing technology to realize the impurity examination automation, may cut down on the expense expenditures greatly, reduces the worker work load. This article has conducted the correlation research to the bottle

7、d liquid impurity examination, proposed the examination liquid impurity algorithm, and has built the hardware platform.The integrated system realization anticipated effect, has established foundation this article for the following practical application through the software algorithm and the hardware

8、 architecture coordination, has realized the simulation assembly line work bottled liquid impurity examination system.Among them, the software part recognition algorithm mainly opens the source storehouse with OpenCV to realize this function, separately used series function bodies and so on the filt

9、er, binaryzation, image morphology processing, outline examination, outline plan, through appropriate matching and the parameter establishment, completed the good effect; The computer contact surface part establishes with MFC becomes, the realization man-machine exchange and can demonstrate the exam

10、ination effect and real-time reports to the police.The hardware platform build mainly is the position arrangement and the structure design and so on, for coordinates the software algorithm the realization, designs adapts this system hardware related equipment.Gathers the equipment with a black and w

11、hite CMOS industry camera achievement, the pictorial information transmits the computer.And gathers infrared through FPGA to the tube signal, through the serial port transmission and the receive data, realizes the camera automatic snapshot, and FPGA actuates the small liquid crystal box realization

12、to report to the police the function.Through these unions, completes this function the design and achieves the anticipated target. This article to realized the impurity examination algorithm to conduct the research, proposed the centralism examination method and the correlation experimental effect

13、 chart, in the main text regarding this will carry on the detailed narration.Has also carried on the related investigation and study and the research to the hardware illumination isostructuralism, finally determines set of practical and feasible plans. Therefore, based on this set of systems, may

14、develop is suitable involves in each kind to the examination manufacturer assembly line workshop, enhances the production efficiency greatly.The hardware part has the very big promotion space especially, if joins lower part the jar turns on lathe rapidly stops the electrical machinery to let the imp

15、urity in the liquid middle part float, improves the photosource quality to cause the camera recognition impurity to be clearer, as well as the good equipment fixes with the measurement of angle may let the hardware the function full display, all may cause this system precision big promotion.In the f

16、uture plan, might transplant into the algorithm procedure in FPGA, and will have the display monitor, like this might reduce the system the volume, more convenient installment and shift. Key words: OpenCV, machine vision, imagery processing, outline extraction 第1章 绪论 1.1研究背景及意义 众所周知,对

17、于瓶装液体是否含有杂质有关食品与医药安全问题。当今国家高度重视食品安全问题,严格把控食品生产过程中的卫生,保证民用饮食的安全。然而现如今,国内大部分企业和产品生产车间采用传统的肉眼识别,这种识别方法速度慢,可靠性差,并且检测人员容易疲劳。所以,对于机器视觉的开发与应用,有很大的开发潜力。这种系统可以高效,廉价的自动化完成相关功能,来取代用人成本。此类系统的研发也是市场中很多企业期望的要求。所以,本团队在导师的指导下,开发出此套系统。 图像处理是指将图像的信号转换成电脑可以处理的数字信号,并基于此信号,进行一系列图像处理与分析的一项技术。此技术发展于20世纪60年代初期①,用计算机进行对图像的

18、处理和美化等功能。如今,该技术已经运用于生活中很多的领域,如交通管理,车牌照识别,违章识别,等等。所以,不论从实用性还是发展趋势来看,用图像处理的方法来对食品进行检测,是很意义深远的。 1.2国内外研究现状 食品或医用品生产规模不断扩大,图像处理在检测中的作用也越来越重要。对于容积较大的液体体积检测有超声检测,光电检测和机械浮子检测。如Thermo Electron Corporation(热电公司)开发的X射线影像检测装置,检测精度较高②。国外机器视觉的应用主要体现在半导体及电子行业,如PCB印刷电路,或者电子生产与加工设备中。 我国的机器视觉与图像处理技术开始于90年代,由于

19、起步晚,所以很多企业还依赖于国外的设备。目前很多高校与科研单位正在弥补这一领域的空白,并且国内市场有此方面的需求,需求带动科研,国内科研人员对于开发基于图像处理技术的液体杂质检测技术也逐渐重视起来。 1.3本文所做的工作与整体规划 本文对我们团队所开发设计的系统进行了详细的阐述,并且多各种方法进行了实验,通过分析相关效果,来验证每一步骤的合理性。预期的目的为模拟流水线,在瓶装液体通过时进行自动识别检测并且拍照,如果有杂质,系统自动报警。并且在检测模拟流水线上几个瓶子后,自动在电脑上保存统计文档,对生产产品整体合格率进行计算。目前已经实现预期功能。 本文工作包括以下几个方面: (

20、1)图像处理算法基于OpenCV开源图像库实现的,用Visual Studio软件进行编写程序。其中包括图像处理算子(如Roberts,Sobel等算子)的讲解与效果展示,和系统整体流程的设计; (2)图像的采集采用的黑白工业CMOS摄像头,此摄像头可直接有USB连接电脑,不需要图像采集卡,方便实用。这也是未来摄像头发展的趋势。 (3)用Visual Studio 软件编写上位机软件,用于信号的传输与报警显示,并且可以实时显示摄像头采集信息与处理信息。 (4)用FPGA与光电对管实现对移动瓶子的检测。实现自动抓拍功能。信息通过串口传输到电脑中与检测算法进行融合。 (5)硬件平台的搭建。

21、其中包过硬件整体的选材与结构设计,使得该方案满足系统应用。 (6)基于此系统的前景展望与预想的未来应用中如何良好的实现功能。 第2章 杂质检测系统方案设计 2.1实验系统整体结构 图2-1 系统工作模块图如图所示,电脑主机作为主控模块。主机与摄像头之间互相传递信号,进行电脑控制摄像头拍摄和摄像头传回图像,其用USB进行数据传输;透明瓶后面用漫反射光源进行照明;FPGA模块用来检测光电模块传输的信息,并传给电脑进行控制摄像头抓拍,并且把信号传递给液晶屏进行下位机报警;电脑主机通过电脑上位机界面显示实时信息与报警显示;同时PC机产生检测报表,显示处理信息以及产品

22、合格率等相关信息。 2.1.1摄像头采集模块 相机为130万像素黑白工业相机,通过USB2.0与PC机连接。曝光方式为电子快门。USB供电,可编程控制图像尺寸、亮度、增益、曝光时间。自己编制上位机用来显示图像信息并进行图像处理或者录像视频处理。此款摄像头工作温度为0°C~70°C。工作电压5V。可用于工业视觉,工业检测等场所。CMOS摄像头采集图像可直接上传PC机,不需要图像采集卡,方便各种场所使用。 加入镜头后可实现手动变焦,聚焦,改变光圈等功能,方便调试时使用。在调试过程中,摄像头安装在于水瓶平行位置,通过上位机界面编写来完成人机交互。其采集图像如下图所示。 图2-2 2

23、1.2光源介绍 经过查找资料,适合工业检测的光源有很多种类,多数为高密度LED点阵构成,并加入漫反射灯罩来形成平均光板。本设计对光源的要求是必须要亮度均匀无瑕疵,并且光板的面积足够大,可以平均照亮整个水瓶。其结构图如下。 我们经过不断试验,发现用平行的三个日光灯管前面加入自制白纸板,也可以达到这样的效果,并且亮度大于LED。所以,我们自制光源,作为检测光源放入灯箱中。具体如下。良好的光源效果是保证检测不失误的前提。 图2-3 2.1.3光电检测模块 光电检测模块为了方便流水线实现自动拍照功能,其硬件运用一对红外线对管,其中一个发射一个接收。其局部结构图如下。 FPGA

24、对光电信号进行采集,然后传入PC机进行控制摄像头。当水瓶移入对管中心线,把红外线挡住,信号转变。通过判断这个信号来识别水瓶是否在摄像头可识别位置。下图为红外线传感器硬件的接收管。 2.1.4下位机报警模块 通过PC机对摄像头图像进行处理识别,把结果发送到FPGA中,通过FPGA控制一片1602液晶,在液晶上显示处理结果。用此模块的意义在于可以不用看上位机显示频来了解结果,方便人员了解实时状况。并且加入蜂鸣器报警。FPGA与PC机之间主要通过RS232串口进行接收发送数据。下位机显示模块实物图如下。 2.1.5 PC机及上位机界面介绍 PC机是此电脑的控制核心,由整体结构图可知,

25、其与所有外围设备都进行数据传输。在PC机内进行图像处理主要得算法,和控制报警设备。并且在流水线结束后进行数据统计分析。此功能的加入是方便日后本系统可能应用实际场合做准备。 界面分别展示摄像头实时动态图像,当系统自动抓拍后,进行自动处理,并且处理前和处理后图像分别展示。结果显示区域显示是否有杂质,杂质的数量,和瓶子的编号。当有杂质时,报警框自动变红,提示有杂质。界面为方便人员调试设备以及查看效果,带有调节阈值功能。在实际中,阈值根据当前的环境可设置成固定值。 在一条流水线通过后,PC机会自动统计识别信息,并且保存为文档,方便人员查看处理结果以及了解生产线合格效率。 2.1.6整体平台设

26、计 设计思想为参考工厂中实际流水线结构设计。其设计图如下所示。 其中,矩形为一个滑道,目前手动推行。在未来设计中将用点击代替。推行过程中,瓶子逐个进入检测箱中进行检测。检测箱为一个封闭的箱体。检测箱中主要放置摄像头,光源,检测物。在实验过程中,又加入光电检测管。下图为整体实物图。 2.2杂质检测方案论证 通过查阅资料与调研,杂质检测主要得方法有帧差法、背景建模法、光流法和基于特征的方法。其中,帧差法不能完全提取出目标所有相关点,但动态环境适应性很好。背景建模法对光照和外部条件造成的动态场景变化非常敏感但能较完整的提取目标点。光流法的计算量很大,不适应于实时处理但能够直接用

27、于在摄像机运动情况下的目标检测。基于特征的方法难于准确的进行特征提取和匹配。下面对我们在实验过程中所采用的几种方法做简要说明并阐述利弊。 2.2.1帧差法 在我们实际应用中,曾思考过用此方法。帧差法是在连续的图像序列中相邻帧间的像素的时间差分来提取图像中的运动区域。此类帧差法不能完全提取出所有相关的特征像素点。为了提高杂质识别精细度,我们提出一种适用于本系统的类似于帧差法的方法。大体思想是,采集一张纯净水的照片,然后在实际应用中,用实际检测图片与此图片对比。通过查找出两帧图片中的不同,来识别杂质。此种方法的优点是,分辨率极高,可以识别类如毛发这样细小杂质。然而,其对系统控制的精确度也十分高

28、需要两帧图像的水瓶位置接近于重合。这点在实际应用中由于硬件的限制很难达到。并且由于液体运动产生的细小气泡也会被识别成杂质。所以,综合利弊,此种方法适用于环境较为理想的情况。 2.2.2特征提取法 此方法基于对摄像头采集到的静态图片进行静态分析。其中涉及到图像处理的相关算法以及对图像进行形态学分析。在实际实验过程中,此方法效果良好,杂质识别程度较高。并且对噪声影响进行去除,有较好的实际应用价值。下面是此方法的图像处理流程图。然后将针对此流程进行方案分析与论证。 对采集的图像先进行模糊处理,这样可以有效的去除图像中的椒盐噪声,滤除不必要的干扰像素从而提高图像处理结果准确度。在对图像

29、滤波后,进行二值化处理,二值化的主要作用是为后续工作打基础,其原理就是根据设定好的阈值,把图像分成黑白两色,即0与1。这样图像的对比度达到最高,高于一定灰度的杂质变的清晰可见。腐蚀操作与膨胀操作的组合称之为开运算与闭运算。二者结合称之为图像的形态学处理。膨胀操作与腐蚀操作都是针对白色区域,此事瓶身为黑色。所以腐蚀操作可以让黑色瓶身部分区域扩大,膨胀操作与其相反,让其收缩。二者结合可以让图像中连通的区域全部连接,并且去除细小噪声。使用中膨胀与腐蚀次数要尝试选择。最好让膨胀的次数与腐蚀次数相等。这样可以保证图像在处理后最大程度接近原图效果。经过形态学处理后,杂质已经变得清晰可见,并且瓶身全部连接上

30、可以保证不被误认为杂质。此时,进行对轮廓的圈出操作,运用画灰度明显区域进行画矩形,并且统计矩形数量,从而计算出杂质数量。此方案较为合理并且接近实际应用,最终效果可以保证良好的识别程度,准确度较高。所以我们最终选择此方案。 2.3外围设备策划 在核心算法与必要硬件设施之外,为了达到良好的体验效果,并且充分体现流程自动化功能,我们预想可以加入的外围硬件设施。其中一些硬件最后加入,一些由于硬件成本限制并没有加入。但是这些思想对于本系统的未来发展很有价值。如前文所述,加入光电检测模块,下位机报警模块等。下面详细说明此平台适用的电机加入方案。并在未来开发中,笔者打算加入此功能。 2.3.1电机加入

31、方案 电机的加入可以改进实验效果,并且更符合工业现场的检测识别。所以,我们对未来设备改进提出改进方案,加入两个程控电机。如下图所示。 电机1负责带动传送带,并且,通过光电检测信号来随时停止运转,给摄像头识别留出空余时间。电机2负责在有瓶子进入检测箱后,带动水瓶进行急速旋停,这种方法的构思是因为一些杂质会沉入瓶底。通过旋停可让其悬浮于水的中央部分。若设备可以加入此两个电机,不仅大大提高自动化程度,仿真现实流水线,并且还可以提高杂质识别准确度。 2.3.2不合格品剔除方案 对于不合格产品,笔者团队设计出自动分离方案,此方案可运用于实际操作中。 如图所示,在传送滑道检测后,加入

32、一个剔除电机,其控制一个分离隔板,通过其的来回摆动,为合格品与非合格品进行自动分流,此装置可以让工厂流水线大大减少人工需求,很具有实用价值。 第3章 算法理论与应用 3.1图像处理算法 由于计算机技术的发展,人们把越来越多的模拟信号转为计算机可以识别的数字信号,并通过计算机对其处理。计算机取代了人类繁重的工作并且达到了很多曾经未曾想过的效果。图像处理便是其中一个佼佼者。图像信息被压缩成为各个像素所对应的点的信息保存起来,所以图像处理,其原理就是用计算机对每个点做处理。繁重的工作量对于计算机来说变得轻松起来。所以,图像处理技术的发展可以说是应用到了很多领域。下面将对本设计所应

33、用的方法做出讲解,并配有实验过程中的效果图,方便读者参考。 3.1.1 OpenCV的配置 OpenCV(Open Source Computer Vision Library)是Intel公司由1999年建立的基于开源发行的跨平台计算机视觉库。其总共包含500多个函数来实现图像处理算法。关于OpenCV相关说明,网上有详细资料,笔者在此不在赘述。这里指出,此库的发行,对图像处理相关产业有巨大的影响,这使得开发者们不需要编写复杂的算法,就可以实现对图像的一系列处理。所以在此,衷心感谢无私奉献的科研工作者们,并且对你们对待科研一丝不苟的精神致敬。 下面详细说明一下关于OpenCV的配置,因

34、为网上配置方法良莠不齐,对一些初次尝试者们的耐心有很强的挑战。下面是我尝试多种方法之后,根据相关资料总结出的配制方法。可以作为参考。本人选用VS2010和OpenCV2.4.9,下载CMake软件。 下载并解压OpenCV,解压目录D:\opencv; 打开cmke-gui.exe文件;在源码路径(Where is source code)处找到路径D:/opencv/opencv/sources,在目标路径(Where to build the binaries)处找到路径D:/opencv/opencv/binary;点击【Configure】按钮,弹出对话框中选择便以软件,笔者为Vi

35、sual Studio 10;选择后点击【Finish】按钮回到CMake主界面,点击【Generate】,生成过程后,界面各个项目粉红色阴影消失。 编译 OpenCV Debug和Release版本库。在Debug下,选择Solution Explorer里的 Solution OpenCV,运行"调试->开始调试"或者直接F5,或者直接点击三角号,启动调试过程;在Release下,选择Solution Explorer里的Solution OpenCV,点击三角号,运行"启动调试";复制D:\opencv\opencv\binary中的bin和lib目录到D:\opencv\opencv

36、\sources目录下;复制D:\opencv\opencv\build\include下的两个文件夹到D:\opencv\opencv\source\sinclude文件夹下,复制和替换。 设置Windows环境变量。在我的电脑右键属性->高级->环境变量,在系统变量出找到Path变量,在原有值后加“;”并且添加D:\opencv\opencv\build\x86\vc10\bin;D:\opencv\opencv\bin\Debug;D:\opencv\opencv\bin\Release OpenCV的vs2010环境配置每新建一个需要使用opencv的工程,均需要执行以下配置过程。

37、  打开 vs2010,文件--新建--项目;输入项目名称,点击下一步,完成。打开属性管理器的属性页面,方法如下:在VS2010中,选择属性管理器(菜单【视图】->属性管理器)打开属性管理器的属性页添加“包含目录”,在Debug下,添加包含目录:D:\opencv\opencv\sources\include D:\opencv\opencv\sources\include\opencv D:\opencv\opencv\build\x86\vc10\bin ;添加库目录库目录:D:\opencv\opencv\sources\lib\Debug;在Release 下,添加库目录D:\o

38、pencv\opencv\sources\lib\Release。  添加lib库文件(链接器---输入---附加 依赖项)。 在Debug下,添加:(备注: ‘d’前面的三个数字为opencv的版本号) opencv_calib3d245d.lib opencv_contrib245d.lib opencv_core245d.lib opencv_features2d245d.lib opencv_flann245d.lib opencv_gpu245d.lib opencv_haartraining_engined.lib opencv_highgui245d.lib

39、 opencv_imgproc245d.lib opencv_legacy245d.lib opencv_ml245d.lib opencv_objdetect245d.lib opencv_ts245d.lib opencv_video245d.lib 在Release下,添加:  opencv_calib3d245.lib opencv_contrib245.lib opencv_core245.lib opencv_features2d245.lib opencv_flann245.lib opencv_gpu245.lib opencv_haartrainin

40、g_engine.lib opencv_highgui245.lib opencv_imgproc245.lib opencv_legacy245.lib opencv_ml245.lib opencv_objdetect245.lib opencv_ts245.lib opencv_video245.lib 至此配置完成,下面是个测试用例,能编译成功即配置成功,提前在D盘下放置Demo.jpg图片文件,改程序用来打开此文件。 #include "stdafx.h" #include "highgui.h" //using namespace cv;  int _t

41、main(int argc, _TCHAR* argv[]) {    const char* imagename = "D:\Demo.jpg";     cv::Mat img = cv::imread(imagename);     if(img.empty())     {  fprintf(stderr, "Can not load image %sn", imagename);         return -1;     }     if( !img.data )         return -1;     cv::namedWindow("image", C

42、V_WINDOW_AUTOSIZE);     cv::imshow("image", img);     cv::waitKey();     return 0; } 3.1.2 图像处理算法介绍 IplImage是一个重要的结构,其可定义指针用来指向图像;cvLoadImage()函数用来载入原图像,可以使绝对路径或者相对路径;cvCreatImage()函数用来创建内存来存储每一步处理后的图像;cvMemStorage结构用来创建内存存储器,来统一管理动态对象的内存,本文用其来勾画图像中杂质,与cvCreatMemStorage()函数配合使用;cvSeq结构用来创建一个序列

43、可增长的序列,也是与上一函数配合来画线使用;cvSmooth()函数用来平滑滤波,即对图像进行模糊处理,减少噪点;cvThreshold()函数用来对图像二值化处理,即把图像按阈值分为0或1,这样方便后续处理;cvSobel()函数用来对图像进行边缘检测,可以对对比度较大区域进行筛选,找出图像中物体边缘;cvErode()函数用来对图像腐蚀操作,其与cvDilate()膨胀操作一起,对图像进行形态学处理,称其为图像开启运算或闭合运算。通过二者的良好调试,可以让二值化后的突变边缘部分连接,孤立点消失;cvFindContours()函数用来描绘线条;cvZero()函数让矩阵值为零,初始化清零

44、作用;cvNamedWindow()函数用来先出窗口;cvShowImage()用来在窗口内显示相应图片;cvReleaseMemStorage()用来释放内存,结束程序时使用。至此,本文能用到的函数与结构说明完毕,接下来分段详细说明各个语句用法与作用别展示效果图像。 IplImage *src = cvLoadImage("E:/lena.png", 0); //创建指针并且指向图像 cvNamedWindow( "原图",CV_WINDOW_AUTOSIZE);//命名并且创建窗口,其中双引号部分为窗口名称 cvShowImage( "原图", src ); //在“原图”窗口上显示

45、图像 运行此以上语句,会显示如下窗口,若采集图像为彩色图,需用cvCvtColor()函数来转换成灰度图 IplImage *mohu=cvCreateImage(cvGetSize(src),8,1); //创建一个内存用来存放滤波后的图像内存,其中cvGetSize()函数用来取原图像大小,使得新建内存大小与原图一致。 cvSmooth(src,mohu,CV_BLUR,5,5);//模糊用函数,输入原图,输出模糊图 cvNamedWindow("简单模糊",CV_WINDOW_AUTOSIZE);//显示模糊后图片 cvShowImage("简单模糊",mohu);/

46、/效果如下图 IplImage *erzhihua = cvCreateImage(cvGetSize(src),8,1);//创建内存用来存放二值化后的图像 cvThreshold(mohu,erzhihua, 160, 255, CV_THRESH_BINARY);//二值化处理函数,输入上一阶段的模糊图形,输出二值化图像,其中160位阈值,整体为255,自己调节。在调解过程中可以自己尝试并运行,也可以制作一个滑动条来动态调节,动态调节所用函数为cvCreateTrackbar(),在此不赘述。 cvNamedWindow("二值图", CV_WINDOW_AUTOSIZE

47、);//显示二值图窗口 cvShowImage("二值图", erzhihua); //运行效果如下图 IplImage *pengzhang = cvCreateImage(cvGetSize(src),8,1); //创建内存用来存储膨胀后的结果 IplImage *fushi = cvCreateImage(cvGetSize(src), 8,1); //创建腐蚀内存用来存储复试后的结果 IplImage *pengzhang1 = cvCreateImage(cvGetSize(src), 8,1); //创建另一个内存备用 IplImage *dsw

48、 = cvCreateImage(cvGetSize(src), 8,1); //创建内存,形态学处理结束后图像存入此指针指向内存处 //下面程序段对二值化后的图像进行形态学处理 cvErode(erzhihua, fushi,NULL,2);//腐蚀运算,2为腐蚀次数 cvNamedWindow("腐蚀处理", CV_WINDOW_AUTOSIZE); cvShowImage("腐蚀处理", fushi); //效果如图 cvDilate(fushi, pengzhang,NULL, 2);//膨胀处理 cvNamedWindow("膨胀处理", CV_W

49、INDOW_AUTOSIZE);// 形态学处理,膨胀 cvShowImage("膨胀处理",pengzhang); cvDilate(pengzhang, pengzhang1,NULL, 3);//膨胀 cvNamedWindow("二次膨胀处理", CV_WINDOW_AUTOSIZE);// 二次膨胀处理 cvShowImage("二次膨胀处理",pengzhang1); cvErode(pengzhang1,dsw,NULL,3);//腐蚀 cvNamedWindow("形态学处理后", CV_WINDOW_AUTOSIZE);

50、// 形态学处理后的图像 cvShowImage("形态学处理后", dsw); cvFindContours(dsw, storage, &first_contour, sizeof(CvContour), CV_RETR_LIST, CV_CHAIN_APPROX_SIMPLE); cvNamedWindow("轮廓", CV_WINDOW_AUTOSIZE);//显示二值图 cvShowImage("轮廓", dsw); cvZero(dst); int cnt = 0; for(; first_contour

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服