当前位置:文档之家› 机器视觉检测的分析简答作业及答案要点学习资料

机器视觉检测的分析简答作业及答案要点学习资料

2012研究生机器视觉课程检测及课程设计内容一、回答下列问题:1、什么是机器视觉,它的目标是什么?能否画出机器视觉检测系统的结构方块图,并说出它们的工作过程原理和与人类视觉的关系?机器视觉是机器(通常指计算机)对图像进行自动处理并报告“图像中有什么”的过程,也就是说它识别图像中的内容。

图像中的内容往往是某些机器零件,而处理的目标不仅要能对机器零件定位,还要能对其进行检验。

原始数据特征向量类别标识特征度量模式分类器机器视觉系统的组成框图2、在机器视觉检测技术中:什么是点视觉技术、一维视觉技术、二维视觉技术、三维视觉技术、运动视觉技术、彩色视觉技术、非可见光视觉技术等?能否说出他们的应用领域病句、案例?能否描述它们的技术特点?答:点视觉:用一个独立变量表示的视觉称之为点视觉。

如应用位移传感器测量物体的移动速度。

一维视觉:普通的CCD。

两维视觉:用两个独立变量表示的视觉称之为两维视觉。

比如普通的CCD。

三维视觉:用三个独立变量表示的视觉称之为三维视觉。

比如用两个相机拍摄(双目视觉);或者使用一个相机和一个辅助光源。

彩色视觉:用颜色作为变量的视觉称之为彩色视觉。

物体的颜色是由照射光源的光谱成分、光线在物体上反射和吸收的情况决定的。

比如,一个蓝色物体在日光下观察呈现蓝色,是由于这个物体将日光中的蓝光反射出来,而吸收了光谱中的其他部分的光谱,而同样的蓝色物体,在红色的光源照射下,则呈现红紫色,非可见光视觉技术:用非可见光作为光源的视觉技术。

比如非可见光成像技术。

3、机器视觉检测技术中:光源的种类有哪些?不同光源的特点是什么?光照方式有几种?不同光照方式的用途是什么?又和技术特点和要求?机器视觉检测技术中光源有以下几种:荧光灯,卤素灯+光纤导管,LED 光源,激光,紫外光等。

几种光源的特点如下:成本亮度稳定度使用寿命复杂设计温度影响种类名称荧光灯低差差一般低一般卤素灯+光纤导管高好一般差一般差LED光源一般一般好好高低光照方式有以下几种:背景光法(背光照射)是将被测物置于相机和光源之间。

这种照明方式的优点是可将被测物的边缘轮廓清晰地勾勒出来。

由于在图像中,被测物所遮挡的部分为黑色,而未遮挡的部分为白色,因此形成“黑白分明”的易于系统分析的图像。

此方法被应用于90%的测量系统中。

前景光法(正面照射)是将灯源置于被测物和相机之前。

又可分为明场照射和暗场照射。

明场照射是为了获得物体的几乎全部信息,照射物体的光在视野范围之内几乎全部反射回去;暗场照射是为了获取物体表面的凹凸,照射物体的光在视野范围之外有部分光反射回去。

同轴光法是将灯源置于被测物和相机之间。

4、机器视觉检测系统中,光学系统的作用是什么?光学器件有哪几种,它们各自的作用是什么?光学镜头有几种类型,它们各自有何用途?光学镜头有哪些技术参数,各自对测量有什么影响?答:机器视觉检测系统中,光学系统用来采集物体的轮廓、色彩等信息。

光学器件主要有:镜头、成像器件(CCD和CMOS)、光圈、快门等。

镜头的作用是对成像光线进行调焦等处理,使成像更清晰;成像器件的作用是将光学图像转换成模拟电信号;光圈的作用如同人得瞳孔,控制入射光的入射量,实现曝光平衡;快门的作用是将想要获取的光学图像照射在成像器件上,获取想要的光学图像,排除干涉等。

光学镜头的类型:标准镜头、广角镜头、远摄镜头、鱼眼镜头、反射式镜头、变焦镜头和特殊镜头等。

标准镜头的作用是获取和人眼观看效果类同的图像;广角镜头的作用是近距离拍摄较大场景的图像;远摄镜头的作用是远距离摄取景物的较大影象,对拍摄不易接近的物体,如动物、风光、人的自然神态,均能在远处不被干扰的情况下拍摄;鱼眼镜头的作用是近距离拍摄更大场景的图像;反射式镜头的作用是更远距离摄取物体图像;变焦镜头的作用是在不改变拍摄距离的情况下,能够在较大幅度内调节底片的成像比例。

光学镜头的技术参数有分辨率,失真,透光,暗角盲区。

5、光电转换器件CCD和CMOS的作用是什么?各自的工作原理是什么,它们的差别是什么?它们有哪些主要的技术参数,其作用是什么?光电转换器件CCD和CMOS的作用是作为半导体光敏元件把光信号转换为电信号。

CCD(Charge—Coupled Demce)电路耦合器件的工作原理:CCD电路耦合器分三个阶段采集图像信号,首先将光信号转换为电信号,然后暂时存放在CMOS存储器中,最后用时钟脉冲顺序读出信号。

CMOS(Complement Metal Oxide Semiconuctor)是互补金属氧化物场效应的简称,其工作原理为:CMOS 传感器中每一个感光元件都直接整合了放大器和模数转换逻辑,当感光二极管接受光照、产生模拟的电信号之后,电信号首先被该感光元件中的放大器放大,然后直接转换成对应的数字信号。

换句话说,在CMOS传感器中,每一个感光元件都可产生最终的数字输出,所得数字信号合并之后被直接送交DSP芯片处理。

从技术角度来讲二者的主要区别如下:(a)信息读取方式不同;(b)速度有所差别;(c)电源及耗电量;(d)成像质量CCD和CMOS主要参数:CCD或CMOS尺寸、CCD或CMOS像素、水平分辨率、最小照度,也称为灵敏度、扫描制式、摄像机电源、信噪比、视频输出接口、镜头安装方式。

6、机器视觉检测技术中,图像处理的中心任务是什么?什么是图像预处理,能否说出几种与处理的方法和算法?边缘检测和边缘提取有何区别?图像分割有几种方法?如何理解图像处理中的卷积?能否描述空间域处理和变换域处理的方法和用途?机器视觉检测技术中,图像处理的中心任务是消除图像中无关的信息,恢复有用的真实信息,增强有关信息的可检测性和最大限度地简化数据,从而改进特征抽取、图像分割、匹配和识别的可靠性。

图像预处理即在图像分析中,对输入图像进行特征抽取、分割和匹配前所进行的处理。

是将每一个文字图像分检出来交给识别模块识别的这一过程。

边缘检测使用数学方法提取图像像元中具有亮度值(灰度)空间方向梯度大的边、线特征的过程。

边缘提取是要保留图像弧度变化比较剧烈的区域,从数学上最直观的方法就是微分(对于数字图像来说就是差分),在信号处理的角度来看,也可以说是高通滤波器,即保留高频信号。

图象分割有三种不同的方法,其一是将各象素划归到相应物体或区域的象素聚类方法即区域法,其二是通过直接确定区域间的边界来实现分割的边界方法,其三是首先检测边缘象素再将边缘象素连接起来构成边界形成分割。

图像分割主要包括4种技术:并行边界分割技术、串行边界分割技术、并行区域分割技术和串行区域分割技术。

图像处理中的卷积就是定义图像是f(x),模板是g(x),然后将模版g(x)在图像中移动,每到一个位置,就把f(x)与g(x)的定义域相交的元素进行乘积并且求和,得出新的图像一点(通常是灰度值),把新得到的像素集合起来就是卷积后的图像。

空间域是指图像本身,空间域图像处理的方法是直接对图像的像素进行处理,主要是亮度(灰度级)变换和空间滤波两种方法。

7、机器视觉算法中,你能说出几种与检测有关的方法,能否实践一种算法用于机器视觉检测(如:各阶矩的应用等)?有Canny边缘检测方法,差分边缘检测法,roberts边缘检测法,prewitt 边缘检测法,laplace边缘检测法,log边缘检测法等算法。

下面实现一种基于c++软件语言的程序算法:HDIB SUSANEdgeDetectDIB(HDIB hDib){SetCursor(LoadCursor(NULL, IDC_WAIT));DWORD dwDataLength = GlobalSize(hDib);HDIB hNewDib = GlobalAlloc(GHND,dwDataLength);if(!hNewDib){SetCursor(LoadCursor(NULL, IDC_ARROW));return NULL;}LPBYTE lpDIB = (LPBYTE)GlobalLock(hNewDib);if(lpDIB == NULL){SetCursor(LoadCursor(NULL, IDC_ARROW));return NULL;}LPBYTE lpDIBSrc = (LPBYTE)GlobalLock(hDib);memcpy(lpDIB, lpDIBSrc,sizeof(BITMAPINFOHEADER)+PaletteSize(lpDIBSrc));DWORD lSrcWidth = DIBWidth(lpDIBSrc);DWORD lSrcHeight = DIBHeight(lpDIBSrc);WORD wBitCount =((LPBITMAPINFOHEADER)lpDIBSrc)->biBitCount; DWORD lSrcRowBytes =WIDTHBYTES(lSrcWidth*((DWORD)wBitCount)); LPBYTE lpOldBits = FindDIBBits(lpDIBSrc);LPBYTE lpData = FindDIBBits(lpDIB);//图像变换开始//////////////////////////////////////////DWORD i, j, h, k, offset;int NearPoint[37];int OffSetX[37] = { -1, 0, 1,-2,-1, 0, 1, 2,-3,-2,-1, 0, 1, 2, 3,-3,-2,-1, 0, 1, 2, 3,-3,-2,-1, 0, 1, 2, 3,-2,-1, 0, 1, 2,-1, 0, 1 };int OffSetY[37] = { -3,-3,-3,-2,-2,-2,-2,-2,-1,-1,-1,-1,-1,-1,-1,0, 0, 0, 0, 0, 0, 0,1, 1, 1, 1, 1, 1, 1,2, 2, 2, 2, 2,3, 3, 3 };if(wBitCount == 8){int thre, same, max, min;//统计象素亮度最大值和最小值max = min = 0;for(i=0;i<lSrcHeight;i++)for(j=0;j<lSrcWidth;j++){offset = lSrcRowBytes*i+j;if(max < (int)(*(lpOldBits+offset))) max = (int)(*(lpOldBits+offset));if(min > (int)(*(lpOldBits+offset))) min = (int)(*(lpOldBits+offset));}//相似度阈值为最大值和最小值差的1/10 thre = (max-min)/10;for(i=3;i<lSrcHeight-3;i++)for(j=3;j<lSrcWidth-3;j++){//统计圆形邻域内相似的点的个数same = 0;for(h=0;h<37;h++)NearPoint[h] =(int)(*(lpOldBits+lSrcRowBytes*(i+OffSetY[h])+(j+OffSetX[h]))); for(h=0;h<37;h++)if(((int)abs(NearPoint[h]-NearPoint[18])) <= thre) same++;if(same > 27)*(lpData+lSrcRowBytes*i+j) = 255;else *(lpData+lSrcRowBytes*i+j) = 0;}}if(wBitCount == 24){int theSame[3], theMax[3], theMin[3], theThre[3];memset(theMax, 0, sizeof(int)*3);memset(theMin, 0, sizeof(int)*3);for(i=0;i<lSrcHeight;i++)for(j=0;j<lSrcWidth;j++){offset = lSrcRowBytes*i+j*3;for(k=0;k<3;k++){if(theMax[k] < (int)(*(lpOldBits+offset+k)))theMax[k] = (int)(*(lpOldBits+offset+k));if(theMin[k] > (int)(*(lpOldBits+offset+k)))theMin[k] = (int)(*(lpOldBits+offset+k));}for(k=0;k<3;k++)theThre[k] = (theMax[k]-theMin[k])/10;for(i=3;i<lSrcHeight-3;i++)for(j=3;j<lSrcWidth-3;j++){memset(theSame, 0, sizeof(int)*3);for(k=0;k<3;k++){for(h=0;h<37;h++)NearPoint[h] =(int)(*(lpOldBits+lSrcRowBytes*(i+OffSetY[h])+(j+OffSetX[h])*3+k));for(h=0;h<37;h++)if(((int)abs(NearPoint[h]-NearPoint[18])) <= theThre[k])theSame[k] ++;}if((theSame[0] > 27) && (theSame[1] > 27) &&(theSame[2] > 27))memset(lpData+lSrcRowBytes*i+j*3, 255, 3);elsememset(lpData+lSrcRowBytes*i+j*3, 0, 3);}}GlobalUnlock(hDib);GlobalUnlock(hNewDib);SetCursor(LoadCursor(NULL, IDC_ARROW));return hNewDib;8、你编写并运行通过了哪些图像处理的计算机程序程序,能否写出流程图?答:运用matlab编写过读取原始图像,对图像进行灰度处理,对灰度图像进行直方图、均值滤波、中值滤波、图像锐化、表面边缘检测及提取等程序。

相关主题