版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、数字图像处理实习多长度尺寸测量姓名:张慧 班级:信息10-1学号:36 1. 不要删除行尾的分节符,此行不会被打印信息10-1 张慧 36目 录一. 课程设计任务11.1 设计目的11.2 设计要求1二. 课程设计原理及设计方案32.1 设计原理32.2 设计方案52.3 设计流程图11三. 课程设计的步骤及结果图123.1步骤123.2结果图13四. 课程设计总结15五. 参考文献16- 16 -信息10-1 张慧 36一. 课程设计任务1.1 设计目的数字图像处理,就是用数字计算机及其他有关数字技术,对图像进行处理,以达到预期的目的。随着计算机的发展,图像处理技术在许多领域得到了广泛应用,
2、数字图像处理已成为电子信息、通信、计算机、自动化、信号处理等专业的重要课程。数字图像处理课程设计是在学习完数字图像处理的相关理论后,进行的综合性训练课程,其目的是: 使学生进一步巩固数字图像处理的基本概念、理论、分析方法和实现方法; 增强学生应用VC+6.0编写数字图像处理的应用程序及分析、解决实际问题的能力; 尝试所学的内容解决实际工程问题,培养学生的工程实践能力。本实验是MVIPS 图像处理软件结合 MV-ERP/MRP /LSP系列机器视觉创新实验开发平台而设计的。本实验对工业流水线生产现场的高精度时实尺寸测量,供出了一种全新的测量方法。通过实验,可进一步提高同学们对机器视觉技术的了解,
3、增强同学们的动手能力,巩固和掌握图像处理技术的基本技能。1.2 设计要求在加工制造领域,需要对很多零部件尺寸进行测量,以验证零件是否符合加工要求。一般这种测量可以通过千分尺或游标卡尺完成。但对于很多易碎或易变形的零件,类似的测量几乎难以完成。在这种场合,一般要求采用非接触测量方法,图像测量就是其中的方法之一。试设计一应用软件,能够对标准形状的零件进行图像测量。要求完成功能: 1、能够读取和存储图像,对图像进行去噪和对比度增强; 2、能够根据控制点对图像失真进行几何校正; 3、根据控制点对图像进行定标,建立像素与实际尺寸之间的对应关系; 4、对于非标准零件,利用人工鼠标操作,测量任意指定点间的距
4、离; 5、对圆形标准零件进行自动尺寸测量(提高部分); 6、设计软件界面。n 1.3实验器材1) 嵌入式计算机(自备)2) MVIPS图像处理软件及加密狗一套;3) Microvison系列机器视觉创新教学实验平台一套;4) Microvison工业数字相机(1394、USB接口);5) 百万像素高分辨率镜头;6) 机器视觉LED背光源及控制器一套;二. 课程设计原理及设计方案2.1 设计原理2.1.1滤波去噪由于图像中不可避免地存在噪声,故在图像预处理过程中需要对噪声进行滤除。一些常见的噪声有椒盐噪声、脉冲噪声、高斯噪声等。椒盐噪声是含随机出现的黑白亮度值,脉冲噪声是只含有随机的白强度值(正
5、脉冲噪声)和黑强度值。与强两者不同,高斯噪声是含有亮度服从高斯或正态分布的噪声。图像的平滑处理在空间域和频域采取不同的方法,空间域滤波是在图像空间借助模版进行邻域操作,一般分为线性和非线性两类。1. 线性平滑滤波器对去除高斯噪声有很好的效果,大多数情况下对其他来性的噪声也有很好的效果。最简单的线性滤波是均值滤波,即对局部进行均值计算,每一像素点的灰度值用其邻域内的各点灰度值的均值来置换。但是邻域N的大小控制着滤波程度,大尺度滤波器会加大滤波程度,作为消除大噪声的代价,大尺度滤波器会导致细节的损失和计算量的增加,使得图像的尖锐部分变模糊。2. 中值滤波法是一种较好的非线性滤波方法,它将每一象素点
6、的灰度值设置为该点某邻域窗口内的所有象素点灰度值的中值,在去除图像脉冲噪声、椒盐噪声的同时,又能保留图像的边缘细节,有效地保持图像轮廓的清晰。设G(x,y)表示原始图像在(x,y)处的灰度值,选用N*N的正方形窗口(N一般取3或5),F(x,y)表示滤波后的图像在(x,y)处的灰度值,Med表示对窗口求中值,则中值滤波的输出可表达为:2.1.2几何校正数字图像几何变形是指图像上的像元在图像坐标系的坐标与其在实际元件等参考坐标系之间的坐标不一致,从而导致图像行列式不均匀、像元大小和位置与实际对应不准确、形状不规则等。图像的总体几何变形是平移、缩放、旋转、偏扭、弯曲及其其他变形的综合作用结果。对于
7、图像的几何校正有直接和间接两种方法,其关键环节在于:一是像素坐标变换;而是像素亮度值冲采样。在对工件进行图像采集时,主要涉及到的几何变形是投影畸变,形象的说获得的图像就像是影子近大远小,因此只要在采集图像时设置四个控制点,根据我们已知控制点的标准图像和获得的畸变的控制点图像建立传输函数,利用传输函数对元件的畸变图像反变换获得理想的元件图像。2.1.3测量定标元件尺寸的图像测量,是建立在实际尺寸与像素关系已知的基础上的,通过检测元件的像素个数,以及像素与实际尺寸的对应关系(图像分辨率)求得元件的实际尺寸。对于扫描仪等设备获取的图像,因为其设备为固定高度且步进电机匀速扫描采集信息,则可以获取元件图
8、像的像素分辨率(像素/英寸dpi),然后直接利用此分辨率进行测距计算。而大部分图像,包括相机、摄像头获取,或者从屏幕上截取得到,其图像分辨率已经发生变化,或者根本没有任何实际意义,这是就需要对图像进行尺寸定标。在获取元件图像的同时,放置已知具体实际尺寸的标定物,在获取图像后与元件图像一起进行相同的几何校正等一系列操作,最终求的其像素数,从而获得像素数与实际尺寸的比例关系,设为分辨率dpi,进行元件实际尺寸的测量计算。2.1.4增强对比度和二值化处理经过几何校正后的图像则可以用于尺寸测量,但由于背景的影响,在检测元件边缘时会有较大的误差,因而更好的办法是增强对比度后设置门限,对图像进行二值化处理
9、。1. 在数字图像处理中,二值图像占有非常重要的地位,二值化后的图像更容易检测元件图像的边缘。图像的二值化有利于图像的进一步处理,使图像变得简单,而且数据量减小,能凸显出感兴趣的目标的轮廓。其次,要进行二值图像的处理与分析,首先要把灰度图像二值化,得到二值化图像。2. 为了方便选取二值化所需的阈值,我们希望图像的直方图是一个标准的双峰一谷,则直接在谷底处取得阈值,使一侧为0另一侧为1,因此需要对图像首先进行对比度增强。如果原图象f(x,y)的灰度范围是m,M,我们希望调整后的图象g(x,y)的灰度范围是n,N,利用VC+图象处理工具箱中的函数,可以很容易实现上述线性变换的对比度增强。2.1.5
10、投影法自动测距投影法就是统计目标像素在水平方向(x轴)和竖直方向(y轴)上累计的个数,然后画出统计图形。根据本次统计图形的零极点判断元件图像的边缘,测得边缘之间的距离即为所求元件的尺寸。对于统计图像峰值的判断,可以采用一阶甚至二阶差分,判断统计图像两侧异号或者突变的点,即元件的边缘位置。2.1.6手动两点测距应用最简单方法,测得图像上两点像素的坐标,计算出两点间的像素数,然后根据读取或者测得的图像分辨率计算出任意两点间距离。2.2 设计方案根据以上设计原理的选择,结合VC+6.0的进行图像处理,主要是图像轮廓提取和图像的尺寸计算/* * 函数名称: * ContourDIB() * 参数: *
11、 LPSTR lpDIBBits - 指向源DIB图像指针 * LONG lWidth - 源图像宽度(象素数,必须是4的倍数) * LONG lHeight - 源图像高度(象素数) * 返回值: * BOOL - 运算成功返回TRUE,否则返回FALSE。 * 说明: * 该函数用于对图像进行轮廓提取运算。 * 要求目标图像为只有0和255两个灰度值的灰度图像。*/int L=0,H=0;/图像的长 宽 char *Quality=NULL; /是否合格BOOL CDibImage:ContourDIB(LPSTR lpDIBBits, LONG lWidth, LONG lHeight)
12、LPSTRlpSrc;/ 指向源图像的指针LPSTRlpDst;/ 指向缓存图像的指针LPSTRlpNewDIBBits;/ 指向缓存DIB图像的指针HLOCALhNewDIBBits;long i,j,z;/循环变量unsigned char find_L,find_H,Start_L,Start_H,flag_L,flag_H; /寻找到边界点标志unsigned int Q_L_MIN=100,Q_H_MIN=80, Q_L_MAX=360,Q_H_MAX=120; /产品合格标志 目前是手动在程序中输入unsigned char n,e,s,w,ne,se,nw,sw;unsigned
13、 char pixel;/像素值/ 暂时分配内存,以保存新图像hNewDIBBits = LocalAlloc(LHND, lWidth * lHeight);if (hNewDIBBits = NULL)return FALSE;lpNewDIBBits = (char * )LocalLock(hNewDIBBits);/ 初始化新分配的内存,设定初始值为255lpDst = (char *)lpNewDIBBits;memset(lpDst, (BYTE)255, lWidth * lHeight);for(j = 1; j lHeight-1; j+)for(i = 1;i lWidt
14、h-1; i+)/ 指向源图像倒数第j行,第i个象素的指针lpSrc = (char *)lpDIBBits + lWidth * j + i;/ 指向目标图像倒数第j行,第i个象素的指针lpDst = (char *)lpNewDIBBits + lWidth * j + i;/取得当前指针处的像素值,注意要转换为unsigned char型pixel = (unsigned char)*lpSrc;/目标图像中含有0和255外的其它灰度值/if(pixel != 255 & pixel != 0)/return FALSE;if(pixel = 0) *lpDst = (unsigned
15、char)0; /0 显示为黑色 也就是轮廓线nw = (unsigned char)*(lpSrc + lWidth -1);n = (unsigned char)*(lpSrc + lWidth );ne = (unsigned char)*(lpSrc + lWidth +1);w = (unsigned char)*(lpSrc -1);e = (unsigned char)*(lpSrc +1);sw = (unsigned char)*(lpSrc - lWidth -1);s = (unsigned char)*(lpSrc - lWidth );se = (unsigned c
16、har)*(lpSrc - lWidth +1);/如果相邻的八个点都是黑点if(nw+n+ne+w+e+sw+s+se=0)*lpDst = (unsigned char)255; / 255 显示为白色/*/ 计算长度 L 单位像素/*/ /寻找到边界点标志find_L=1;find_H=1;Start_L=0;flag_L=1; /测试长度的起点 和结束点的标志L=0;for(j = 1; j lHeight-1&find_H; j+) /列for(i = 1;i lWidth-1&find_L; i+)/行/ 指向源图像倒数第j行,第i个象素的指针lpSrc = (char *)lpD
17、IBBits + lWidth * j + i;/ 指向目标图像倒数第j行,第i个象素的指针lpDst = (char *)lpNewDIBBits + lWidth * j + i;/取得当前指针处的像素值,注意要转换为unsigned char型pixel = (unsigned char)*lpSrc; /*开始点检测*/if(pixel = 0&flag_L) nw = (unsigned char)*(lpSrc + lWidth -1); n = (unsigned char)*(lpSrc + lWidth ); ne = (unsigned char)*(lpSrc + lWi
18、dth +1); w = (unsigned char)*(lpSrc -1); e = (unsigned char)*(lpSrc +1); sw = (unsigned char)*(lpSrc - lWidth -1); s = (unsigned char)*(lpSrc - lWidth ); se = (unsigned char)*(lpSrc - lWidth +1);/如果相邻的八个点都是黑点if(nw+n+ne+w+e+sw+s+se=0) L=0;else find_H=0; flag_L=0; Start_L=1; /*结束点检测*/ if(Start_L=1) L+
19、; /长度像素if(pixel = 0)nw = (unsigned char)*(lpSrc + lWidth -1);n = (unsigned char)*(lpSrc + lWidth );ne = (unsigned char)*(lpSrc + lWidth +1);w = (unsigned char)*(lpSrc -1);e = (unsigned char)*(lpSrc +1);sw = (unsigned char)*(lpSrc - lWidth -1);s = (unsigned char)*(lpSrc - lWidth );se = (unsigned char
20、)*(lpSrc - lWidth +1);/如果相邻的八个点都是黑点if(nw+n+ne+w+e+sw+s+se=0) find_L=0; Start_L=0; /*/ 计算宽 H 单位像素/*/ /寻找到边界点标志 find_L=1; find_H=1; Start_H=0; flag_H=1;H=0;for(i = 1;i lWidth-1&find_L; i+)/行 for(j = 1; j lHeight-1&find_H; j+) /列 / 指向源图像倒数第j行,第i个象素的指针lpSrc = (char *)lpDIBBits + lWidth * j + i;/ 指向目标图像倒
21、数第j行,第i个象素的指针lpDst = (char *)lpNewDIBBits + lWidth * j + i;/取得当前指针处的像素值,注意要转换为unsigned char型pixel = (unsigned char)*lpSrc; /*开始点检测*/ if(pixel = 0& flag_H) nw = (unsigned char)*(lpSrc + lWidth -1);n = (unsigned char)*(lpSrc + lWidth );ne = (unsigned char)*(lpSrc + lWidth +1);w = (unsigned char)*(lpSr
22、c -1);e = (unsigned char)*(lpSrc +1);sw = (unsigned char)*(lpSrc - lWidth -1);s = (unsigned char)*(lpSrc - lWidth );se = (unsigned char)*(lpSrc - lWidth +1);/如果相邻的八个点都是黑点 if(nw+n+ne+w+e+sw+s+se=0) H=0; else find_L=0; flag_H=0; Start_H=1; /*结束点检测*/ if(Start_H=1) H+; /宽度像素if(pixel = 0)nw = (unsigned c
23、har)*(lpSrc + lWidth -1);n = (unsigned char)*(lpSrc + lWidth );ne = (unsigned char)*(lpSrc + lWidth +1);w = (unsigned char)*(lpSrc -1);e = (unsigned char)*(lpSrc +1);sw = (unsigned char)*(lpSrc - lWidth -1);s = (unsigned char)*(lpSrc - lWidth );se = (unsigned char)*(lpSrc - lWidth +1);/如果相邻的八个点都是黑点i
24、f(nw+n+ne+w+e+sw+s+se=0)find_H=0; Start_H=0; /*/ 判断产品是否合格/*/ if(Q_L_MINL&LQ_L_MAX&Q_H_MINH&Q_H_MAX) Quality=合格; else Quality=不合格; / 复制腐蚀后的图像 memcpy(lpDIBBits, lpNewDIBBits, lWidth * lHeight); LocalUnlock(hNewDIBBits); LocalFree(hNewDIBBits); return TRUE;2.3 设计流程图三. 课程设计的步骤及结果图3.1步骤1) 熟悉MVIPS应用软件,熟悉机
25、器视觉实验平台的基本操作,掌握实验平台、工业数字相机和机器视觉LED光源的安装及调试。2) 实验平台搭建完成后,打开实验平台电源开关,光源控制器开关;3) 将配套相机驱动程序拷贝到计算机某盘下,安装相机驱动程序;4) 启动相机Demo,连接相机进入实时状态,观察图像显示区域,是否可以正常显示图像;5) 调整平台运动速度及光源亮度;6) 将MVIPS软件配套的加密狗插到计算机USB接口;7) 单击鼠标右键,选择“解锁”弹出登陆对话框,输入登录密码“admin”;8) 采集到一张标准模板图像,创建标准模板,设置相应的模板参数并保存(创建标准模板好坏关系到检测结果,对于创建过程附录中详细说明);9) 执行菜单采集?连续命令,会听到“咔哒”一声,表示拍摄的图像已经送到计算机的MVIPS图像处理软件进行处理;10) 程序开始运行分析处理当前采集图片;11) 输出检测结果画面;3.2结果图元件
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 辐射安全管理题库(含答案)
- 民房房屋购买合同范例
- 数据结构与算法复习题
- 特约顾问聘用合同范例
- 工程咨询合同范例内容
- 员工宿舍合租合同范例
- 合同范例生效
- Unit1《Greetings》(教学实录)-2024-2025学年沪教版(五四制)(2024)英语一年级上册
- 市场开发咨询合同范例
- 律师委托协议合同范例
- “青年安全生产示范岗”创建活动方案
- 最新 场地平整施工方案
- 列方程解应用题.(课堂PPT)
- 关于广州番禺龙沙国际港口物流园龙沙码头二期工程可行性研
- 酒店管理权限权限表——酒店管理人员折扣权限汇总表2016(叶予舜)
- 北京市海淀区2021-2022学年七年级第一学期期末考试语文试卷[附答案]
- 二氧化碳充装操作规程完整
- 植草沟施工方案
- 手术室护士分级培训计划(共4页)
- 苯-甲苯浮阀塔精馏课程设计.doc
- 【双人相声剧本搞笑短篇】双人校园相声剧本搞笑
评论
0/150
提交评论