504650709通信工程毕业设计(论文)虚拟仪器图像采集与识别.doc

上传人:文库蛋蛋多 文档编号:3930576 上传时间:2023-03-28 格式:DOC 页数:40 大小:1.13MB
返回 下载 相关 举报
504650709通信工程毕业设计(论文)虚拟仪器图像采集与识别.doc_第1页
第1页 / 共40页
504650709通信工程毕业设计(论文)虚拟仪器图像采集与识别.doc_第2页
第2页 / 共40页
504650709通信工程毕业设计(论文)虚拟仪器图像采集与识别.doc_第3页
第3页 / 共40页
504650709通信工程毕业设计(论文)虚拟仪器图像采集与识别.doc_第4页
第4页 / 共40页
504650709通信工程毕业设计(论文)虚拟仪器图像采集与识别.doc_第5页
第5页 / 共40页
点击查看更多>>
资源描述

《504650709通信工程毕业设计(论文)虚拟仪器图像采集与识别.doc》由会员分享,可在线阅读,更多相关《504650709通信工程毕业设计(论文)虚拟仪器图像采集与识别.doc(40页珍藏版)》请在三一办公上搜索。

1、目 录第1章 绪论11.1引言11.2 国内外研究现状11.3 基于LabVIEW的视觉与运动模块11.4 虚拟仪器的视觉与运动模块应用1第2章 VI 的Vision and motion简介32.1虚拟仪器及视觉与运动模块概述32.2 基于虚拟仪器的视觉系统32.3 Vision and motion模块32.3.1 NI-IMAQ 模块42.3.2常用视觉程序(Vision Utilities模块)42.3.3 图像处理(Image Processing模块)102.3.4 机器视觉(Machine Vision模块)172.3.5 NIIMAQdx模块212.3.6 NI IMAQ I/

2、O模块212.3.7 快速视觉(Vision Express模块)21第3章 图像的采集与识别233.1 总体设计233.1.1 建立图像系统233.1.2 校准图像系统233.1.3 创建图像233.2 图像处理步骤263.2.1 采集图像263.2.2完成图像的噪声处理273.2.3 显示图像273.2.3 图像增强293.2.4快速傅里叶变换313.2.5 高级运算313.2.6 定义关注区32第4章 图像的噪音处理及结果344.1 图像的分析与识别344.1.1 Find Patterns函数344.2 结果输出与分析35结语37致谢38参考文献39第1章 绪论1.1引言虚拟仪器的起源

3、可以追溯到20世纪70年代,那时计算机测控系统在国防、航天等领域已经有了相当的发展。PC机的出现使仪器的计算机化成为可能。虚拟仪器是基于计算机的仪器。计算机和仪器的密切结合是目前一起发展的一个重要方向。计算机视觉系统在工业生产的机器设备中有着广泛的应用,无论是集成电路组装中对元器件的定位与识别,还是包装厂中对于包装完整性的检测,都需要利用计算机视觉来对元件进行检测。传统的计算机视觉系统一般由软硬件系统设计等步骤完成,其中硬件设计、驱动开发以及VB、C语言等应用程序的编写将花费大量的时间。利用虚拟仪器的视觉与运动系统可以方便的进行计算机视觉系统的设计,并快速进行数字图像处理,大大缩短设备仪器开发

4、时间。此外,基于X86平台的虚拟仪器测控系统将是一种最为方便且经济的测控系统设计方案。1.2 国内外研究现状虚拟仪器在国内已经普及,虚拟仪器的视觉与运动模块已经可以用于设计一些计算机视觉系统如三轴影像测量仪、田间多光谱视觉系统等,其模块化图形化的设计流程可以把以及的开发时间压缩到最短。以一个图像采集及识别系统为例,以传统的设备开发流程其软硬件以驱动的开发周期至少为一个月,而利用虚拟仪器进行设计,其系统的主体部分可以在一个小时内完成,且系统稳定为开发过程节约了大量的时间和财力。1.3 基于LabVIEW的视觉与运动模块IMAQ Vision and motion是LabVIEW内置的视觉开发工具

5、包,其中包括NI-IMAQ、Vision Utilities、Image Processing、machine Vision、NI-IMAQdx、NI-IMAQ I/O、Visio express模块。1.4 虚拟仪器的视觉与运动模块应用IMAQ Vision是一个功能强大的函数库,提供了在LabVIEW平台上开发机器视觉系统所需要的各种子程序,例如图像采集、系统校准、图像处理、几何量测量等。 NI 的 IMAQ Vision 软件包为图像处理提供了完整的功能。它将400多种功能集成到 LabVIEW 和 Measurement Studio(LabWindows/CVI,Visual C+及

6、Visual Basic)开发环境中。此外,IMAQ Vision Builder 可用于快速浏览、建立模型及测试应用,且无需编程。NI的OCR软件为 LabVIEW 与 BridgeVIEW 开发者提供了字符识别功能,可用于工业检验中读取字母。通过交互式、可配置的软件或强大的程序库创建应用与数据采集和运动控制设备集成 NI-IMAQ 驱动软件使配置和维护更简单第2章 VI 的Vision and motion简介2.1虚拟仪器及视觉与运动模块概述虚拟仪器技术就是利用高性能的模块化硬件,结合高效灵活的软件来完成各种测试、测量和自动化的应用。它代表着从传统硬件为主的测试系统到以软件为中心的测试系

7、统的根本性转变。视觉与运动模块为虚拟仪器的付费升级模块,其内部集成了大量的图像采集硬件驱动软件以及数字图像处理的模块化函数,可以方便的进行图像信号的空域及频域处理。2.2 基于虚拟仪器的视觉系统基于虚拟仪器的视觉系统利用NI公司专用的图像采集设备可以完成图像信号的采集,其硬件的驱动程序在视觉模块中已经包含,避免了专门开发硬件驱动的弊端。并且利用重新编辑后的ImaqDirectShowDll文件对摄像头部分的动态数据链进行替代,可以将硬件范围扩展到所有通用的摄像器件。采集到的图像数据在图像模块中将被重新定义为有效的图像文件,其数据可以在软件内部被引用。利用视觉与运动模块中定义的大量库函数可以轻松

8、的完成数字图像的各种处理与变换。由于虚拟仪器同时兼容计算机语言编程,故也可以单独为某一功能实现算法的编写,如基于自定义加权模板算子的空域滤波。2.3 Vision and motion模块视觉与运动模块为虚拟仪器的付费升级模块,其内部集成了大量的图像采集硬件驱动软件以及数字图像处理的模块化函数,可以方便的进行图像信号的空域及频域处理。如图2-1,为Vision and motion 函数模块图2-1 视觉与运动函数模块2.3.1 NI-IMAQ 模块用于在NI Vision采集图像。如图2-2图2-2Snap程序采集单幅图像。调用该程序时,将初始化图像采集设备,并采集下一个视频帧。该模块用于单

9、一的采集程序,主要是编程方便。Grab Setup用于启动采集Grab Acquire用于返回当前图像的一个拷贝Sequence用于采集固定数量的图像Close释放分配给图像采集设备的资源Color Mode色彩模式,彩色图形的显示和处理模式,包括 RGB,HSL,HSV,HIS 四种。2.3.2常用视觉程序(Vision Utilities模块)常用视觉函数用于在NI Vision中处理和显示图像。如图2-3图2-3Image Management管理图像程序组。利用这些程序可以建立和释放图像,设置和读取图像的属性例如尺寸和偏移量,复制图象。也可以使用一些高级的Vis来定义图像的边框区域以及

10、访问图像数据的指针。如图2-4 图2-4Create 创建一个图像任务 Dispose 清除图像任务 Get Image Size获得图像的大小信息 Set Image Size 设置图像的大小 Get Image Info 获得图像信息,包括图像的大小,名称,分辨率等 Copy 拷贝图像 Image to Image 一个图像映射到另一个图像上 Get Offset 针对于 mask 而言。获得 Mask 在图像中的偏移量。 Set Offset 针对于 mask 而言。设定 Mask 在图像中的偏移量。 Cast Image 图像类型的转换。 Is Vision Info Present

11、判断图像中是否存在图像信息。Files一组使用不同格式读、写图像文件,并从文件中获得所包含的图像的信息的程序模块。如图2-5图2-5Read File读取图像文件 Write File保存图像文件 Get File Info 获得图像信息,包括图像的类型,分辨率大小 Write BMP File保存为 BMP 图像文件 Write JPEG File保存为JPEG图像文件 Write PNG File保存为PNG 图像文件 Write TIFF File保存为 TIFF图像文件 Read Image And Vision Info 读取图像及其附加信息。 Write Image And Vis

12、ion Info 保存图像及其附加信息。External Display用于在外部窗口显示图像的程序模块组。读取和设置窗口属性,如尺寸、位置、缩放系数 为图像窗口设置调色板 建立及使用图像浏览器 在图像窗口上为选中的关注区域建立和使用不同的交互式绘图工具。 检测画图事件获得图像窗口上有关关注区域的信息。如图2-6 图2-6Region of Interest管理关注区域的程序组。使用这些程序可以通过编程来定义关注区,以及定义关注区和图像掩码和关注区之间的相互转换。如图2-7图2-7 ROIToMask MaskToROI 以上两者 Mask 和ROI之间的相互转换。在一些图像的分析模块中,除了

13、要求输入图片外,还要一个 Mask,即只对图片中的 Mask 区域进行分析,这就要求把自己选择的 ROI 转换为Mask。 Group ROIs把多个ROI数组转换为一个ROI区域。其中转换后的ROI区域包含原ROI数组的所有区域。 Ungroup ROIs为 2.4.3Group ROIs的逆运算,即把一个 ROI区域转换为 ROI数组,数组中的每个ROI都是一个图形轮廓。 TransformROI把 ROI区域从一个坐标系转换为另一种坐标系中。 ROI Conversion ROI和各种点、线、面等各类图形之间的转换Image Manipulation修改图像颗粒内容的程序模块组。利用这些

14、程序模块可以实现图像的重新采样、提取部分图像,以及图像的旋转、平移、打包。该子模板还包括了图像与剪贴板之间相互拷贝的程序模块。如图2-8 图2-8Resample重新定义图像的大小,使用此模块可以放大或缩小图像。 Expand 通过调整整幅或一部分图片的分辨率,来放大图片。 Extract 通过调整整幅或一部分图片的分辨率,来缩小图片。 Interlace 分别提取一幅图像的奇偶像素,分成两幅图片。 Symmetry 得到一幅图像的对称图像 Rotate得到一幅图像的旋转图像 Shift 得到一幅图像的平移图像 Unwrap 将环形的图片展开成矩形 Clipboard To Image将剪贴的

15、数据拷贝到图像 Image To Clipboard 将图像拷贝到剪贴板 3DView将图像进行三维变换Pixel Manipulation读取和修改图像中单独像素的程序模块组。利用这些程序模块可以读取和设置图像中的像素,或者图像中的一行或一列;向图像中的地像素填充特定的值;实现图像和2维LabView矩阵之间的相互转换。如图2-9 图2-9Get pixel value获得图像中某一点的像素值,仅限于灰度图像。 GetRowCol获得图像中某一行或者列的像素值,仅限于灰度图像 GetPixelLine获得图像中某一条直线的像素值,仅限于灰度图像 ImageToArray将图像转化为数组 Se

16、tPixelValue 设置图像中某一点的像素值。 SetRowCol 设置图像中某一行或者列的像素值 SetPixelLine 设置图像中某一条直线上点的像素值 ArrayToImage 将数组转化为图像 FillImage将图像中的某块区域用像素值填充 Draw 在图像中绘制几何图形 Draw Text在图像中添加文字Overlay一组不改变图像的像素值的情况将图形覆盖在在图像显示环境上的程序模块。利用这些程序模块可以使检测程序将检测结果覆盖在被检测图像上。如图2-10 图2-10Overlay Points在图像中覆盖一点或是一组点 Overlay Line 在图像中覆盖一条线 Over

17、lay Multiple Lines 在图像中覆盖多条直线或多边形 Overlay Rectangle 在图像中覆盖一矩形 Overlay Oval 在图像中覆盖一椭圆 Overlay Arc 在图像中覆盖一弧形 Overlay Bitmap 在图像中覆盖一位图 Overlay Text 在图像中覆盖文字 Clear Overlay在图像中清除覆盖 Copy Overlay 在图像中拷贝覆盖 Overlay ROI 在图像中覆盖 ROI区域 Merge Overlay 合并图像中的覆盖 Read Image And Vision Info 读取图像以及图像信息 Write Image And

18、Vision Info 写入图像以及图像信息 上述读写图像及信息的模块,是将图像中的覆盖信息一块读取/保存的Calibration空间校准图像的程序模块组,用于排除相机景深和镜头畸变,以获得精确的真实的测量结果。利用这些程序建立简单的校准,或者让NI Vision从网格图像中自动学习校准数据。还可以利用这些程序模块将像素坐标转换成真实坐标以便于测量。如图2-11 图2-11Learn Calibration Template对校准模块进行学习 Set Simple Calibration 对校准的设置 Set Calibration Info 设置图像校准的信息 Get Calibration

19、 Info 获得图像校准中的信息 Convert Real World to Pixel 将实际坐标系转化为图像像素坐标系 Convert Pixel to Real World 将图像像素坐标系转化为实际坐标系 Correct Calibrated Image对图像进行校准 Color Utilities访问彩色图像数据的程序模块组。利用这些程序可以从图像中提取调色板,用新的数据替换彩色图像的调色板,在彩色图像与2D矩阵之间转换,读取和设置彩色图像的像素值,将像素值从一个彩色颗粒转换到另外一个彩色颗粒。如图2-12 图2-12ExtractColorPlanes 从彩色图像中提取各颜色分量的

20、图像 ExtractSingleColorPlane 从彩色图像中提取单个颜色图像 ReplaceColorPlane 色彩的替代 GetColorPixelValue获得彩色像素点的值 SetColorPixelValue 设置彩色像素点的值 GetColorPixelLine获得图像中某条直线的像素值数组 SetColorPixelLine 设置图像中某条直线的像素值 ColorImageToArray将彩色图像转化为数组 ArrayToColorImage将数组转化为彩色图像 RGBToColor 2 将 RGB 制式的彩色图像转化为其它制式的彩色图像(如 HSL, HSV, HSI)

21、ColorToRGB 将其它制式的彩色图像(如 HSL, HSV, HSI)转化为 RGB 制式 ColorValueToInteger 将表示颜色的RGB三种分量转化为整数的形式 IntegerToColorValue 将整数形式的颜色转化为RGB三种分量的形式Vision RT为LabVIEW实时模块使用NIVision提供的函数组。利用这些程序模块可以在实时系统中将图像显示到视频输出中;控制发送到网络上的图像的压缩设置,以及实时系统中处理程序的时间区段。如图2-13 图2-132.3.3 图像处理(Image Processing模块)Processing处理灰度和二值图像的程序模块。利

22、用这些函数可以使用不同的阈值将灰度图像转换成二值图像。也可以利用这些程序使用预定义或自定义的查找表变换图像,进行分界变换,修改图像的对比度,图像反向。如图2-14图2-13UserLookup 通过查表的方式来重新定义图像中的像素值。所查的表是用户自定义的。 MathLookup 通过数学计算改变图像中的像素值分布。 Equalize 使图像中的像素值分布平均。主要是用于改变整个图像的平均灰度值。 BCGLookup 图像的亮度,对比度和非线性的校准。其中的 BCG 分布代表 brightness, contrast, and gamma correction Threshold 从图像中取阀

23、值。只提取图像中阀值内的像素点,忽略阀值外的像素。 MultiThreshold 从图像中取阀值。与上个节点相对比,本节点可以在一个图像中取多个阀值范围。 Label 在一个二值图像中,用来标注像素点。 Inverse 对灰度图像进行取反操作,以方便计算图像的负片。 AutoBThreshold 根据预设定方式,对图像进行自动阀值选择。 AutoMThreshold 多阀值的自动选择。自动选择的阀值范围后,可以用MultiThreshold和 UserLookup 操作。 MagicWand 和图像中某点的灰度值相近并与之相连通(4 连通或8 连通)的所有像素点。灰度值相近的范围可以自己定义。

24、Filters滤波器,用于增强图像中的信息。利用这些程序可以实现虚像平滑、去除噪声、高光或强化图像中的边沿。可以利用预定义的卷积内核,也可以使用自定义的卷积内核。如图2-15图2-14GetKernel 获得算子。可以通过 family,size和 number读取预先设定的算子。 BuildKernel 创建所需要的算子。 Convolute 通过线性的滤波器进行滤波处理。滤波算子可以自己定义。 Correlate 计算图像与模板图像之间的关联性。 LowPass 低通滤波。如果像素值的变化大于一定范围,将变化过大的像素值置为像素平均值。 NthOrder EdgeDetection 边缘检

25、测。根据预先设定的变化范围,对灰度图像进行边缘检测。有 Differentiation (Default) Gradient Prewitt Roberts Sigma Sobel 等方式可以选择。 CannyEdgeDetection Canny边缘检测法。Morphology形态学组,进行图像形态学运算的程序模块。其中一部分程序完成基本的形态学运算,如灰度和二值图像上的膨胀和腐蚀。另一部分程序用于改进二值图像的质量,微粒补孔、去除边框颗粒、去除小颗粒、基于颗粒的形状特征去除不希望的颗粒。该子模板中的其它组用于分割接触颗粒、查找颗粒轮廓、检测圆形颗粒。如图2-16图2-15 Distance

26、 计算像素点的距离。 FillHole 对粒子中的空隙进行填充 RejectBorder 删除接触到边界的粒子 RemoveParticle 删除或保留一些较小的粒子。 Morphology 对图像进行基本的形态变换。其变换的形态可以进行选择。 GrayMorphology 对图像的灰度值进行形态的变化。 Segmentation 图像的分割。 Danielsson 距离的测量。和 Distance功能大致相同,但其精确度比较高。 Find Circles将图像中的重叠图案分离开,并根据设定的半径范围寻找符合这一要求的圆形图案。 Convex Hull 标注出图像中的粒子外轮廓。 Skelet

27、on 根据所选择算子的算法,提取图像的骨干。只对二值图像有作用,类似于图形的细化。 Separation 图形的分离,将多个连接在一起但有接触痕迹的图形分离开来。在算法上是通过先将图像细化,再将分离开的图形做处理。 Particle Filter 2 过滤特定图形。将图像中特定形状和大小的图形保留或删除。 Analysis分子组,用于分析灰度和二值图像内容的程序模块。这些程序用于计算灰度图象的直方图和灰度统计信息,提取图像中任意维度上的像素信息和统计信息,以及检测和测量二值图像中的颗粒。如图2-17图2-16Histograph 图像灰度值的曲线图。可以以簇或者曲线的形式显示。 Histogr

28、am 图形灰度值的柱状体。相对比曲线图节点,此节点的功能更丰富。 Quantify 对图像的量化。可以计算图像中平均灰度值,最大/最小灰度值以及面积等。 Centroid 计算图形的质心,结果为一包含坐标值的簇。 LineProfile 计算图形中直线的相关数据。输入为一数组,包含四个元素,分别代表直线两端的坐标值。输出为直线上点的灰度值,直线的外接矩形等信息。 ROIProfile 计算图形中 ROI的相关信息。输入为 ROI Descriptor的 ROI形状的说明信息,输出为 ROI区域的灰度值曲线图,像素值的统计以及外接矩形等信息。 LinearAverages 线性的平均灰度值。计算

29、图像中指定矩形区域内的横坐标和纵坐标下的平均灰度值。 Particle Analysis Report 图像中的粒子点分析报告。根据设定相邻的类别,节点对粒子点进行分析,获得粒子的个数、面积、中孔个数、质心和方向的信息。 Color Processing彩色处理组,分析和处理彩色图像的程序分组。这些程序用于计算彩色图像的直方图;为彩色图像应用查找表;改变彩色图像的亮度、对比度、伽马信息,以及阈值。其中的一部分使用彩色匹配处理比较不同图像或不同区域的彩色信息。如图2-18图2-17 ColorUserLookup 通过查表的方式替代图像中色彩的灰度值,用像素值为数组索引值的像素点的像素值用其对应

30、元素值来代替。举例来说明,图像为RGB 类型,每个基本色(R,G,B)都可以连接一个大小为 256 个元素的一维数组。如果R 端连接的数组为(100,80,60,40,20,0),即将图像中 R 值等于 0 的像素点的 R 值置为 100,将图像中 R 值等于 1的像素点的 R值置为 80,将图像中R 值等于3 的像素点的 R值置为 60 ColorBCGLookup 对图像中每种色彩的BCG(brightness, contrast, and gamma correction即亮度,对比度和灰度进行校正)。 ColorEqualize 色彩的补偿。有两种模式可以选择:一是只对图像的亮度进行补

31、偿,而不改变图像的色调和饱和度。二是增强图像三种色彩的对比度,这样会改变图像的色调和饱和度。 ColorThreshold 图像颜色阀值的选择。可以分别对图像中的RGB三种基色的范围进行选取。 ColorHistogram 对图像中色彩的分析柱图。输出为 Histogram Report,其中包含最小值,最大值,平均值以及面积等元素。 ColorHistograph 图像中色彩分析曲线图。输出为 Histogram Graph,其结果可以在Graph中直接以曲线的形式显示,比较直观。 ColorLearn 色彩的学习。可以提取图像ROI区域中的色彩特征,其结果用于与图像色彩相关的功能模块中,如

32、 color matching(色彩匹配),color identification 和 color image segmentation。 ColorMatch 色彩的匹配,对不同图像中的色彩内容的对比。其输入 Color Spectrum为上一节点ColorLearn 的输出。Operators图像基本算数和逻辑运算程序模块组。其中一部分用于图像与图像或常数的加、减、乘、除。该子模板的另一部分进行逻辑运算-如AND/NAND, OR/NOR, XOR/XNOR以及图像之间或常数的像素比较。另外,这个子模板中的一个程序允许利用掩码操作选择图像中的一个区域。如图2-19图2-18Add 相加运

33、算。将两个同类型图像的像素值相加,或图像的像素值和常数相加。相加后的像素值如果大于最大像素值,按最大值处理。如在 8位图像中像素值大于 255,按最大值 255处理。 Dst(x, y) = SrcA(x, y) + SrcB(x, y) 或:Dst(x, y) = SrcA(x, y) + Constant Subtract 相减运算。将两个同类型图像的像素值相减,或图像的像素值和常数相减。相加后的像素值如果小于0,按0 处理。 Dst(x, y) = SrcA(x, y) SrcB(x, y) 或:Dst(x, y) = SrcA(x, y) Constant Absolute Diffe

34、rence 绝对差值运算。将两个同类型图像的像素值相减,或图像的像素值和常数相减。相加后的像素值如果小于最小像素值0,取其绝对值进行处理。如在图像中像素值为50,按其绝对值50 处理。 And 与/与非运算。对两个同类型图像的像素值进行与/与非运算,或图像的像素值和常数进行与/与非运算。进行逻辑运算时,像素值转化为二进制的形式进行,位数不够数据前补 0。如像素值 10 和 2 进行与运算,转化为二进制为 1010 和 10进行与运算,结果为 10,即十进制的 2。 Dst(x, y) = SrcA(x, y) AND SrcB(x, y). 或 Dst(x, y) = SrcA(x, y) A

35、ND Constant. Or 或/或非运算。对两个同类型图像的像素值进行或/或非运算,或图像的像素值和常数进行或/或非运算。进行逻辑运算时,像素值转化为二进制的形式进行,位数不够数据前补 0。 Dst(x, y) = SrcA(x, y) OR SrcB(x, y). 或 Dst(x, y) = SrcA(x, y) OR ConstantMultiply 相乘运算。将两个同类型图像的像素值相乘,或图像的像素值和常数相乘。相乘后的像素值如果大于最大像素值,按最大值处理。如在 8位图像中像素值大于 255,按最大值 255处理。 Dst(x, y) = SrcA(x, y) SrcB(x, y

36、) 或:Dst(x, y) = SrcA(x, y) Constant Divide相除运算。将两个同类型图像的像素值相除,或图像的像素值和常数相除。 Dst(x, y) = SrcA(x, y) SrcB(x, y) 或 Dst(x, y) = SrcA(x, y) Constant LogDiff Dst(x, y) = SrcA(x, y) And Not (SrcB(x, y). 或Dst(x, y) = SrcA(x, y) And Not (Constant). Xor 异或运算。对两个同类型图像的像素值进行异或运算,或图像的像素值和常数进行异或运算。进行逻辑运算时,像素值转化为二

37、进制的形式进行,位数不够数据前补 0。 Dst(x, y) = SrcA(x, y) XOR SrcB(x, y). 或 Dst(x, y) = SrcA(x, y) XOR Constant. MulDiv 计算两个图像的比率。图像一与常数相乘后,在与图像二相除。 Dst(x, y) = (SrcA(x, y) Constant) SrcB(x, y) Modulo 计算图像一除以图像二或常数后所得的余数 Dst(x, y) = SrcA(x, y) % SrcB(x, y) 或:Dst(x, y) = SrcA(x, y) % Constant Compare 对两个同类型得图像进行比较运

38、算,或者是图像和常数进行比较运算。运算得类型有:Average,Min,Max,Clear if ,Clear if or =,Clear if ,其中得 clear为置零运算。 Frequency Domain图像频域分析处理程序模块组。使用这些程序可以使用二维快速付利叶变换(FFT)将图像从空域转换到频域,以及利用反FFT将频域变换到空域。这些程序模块还可以提取复数图像的幅度,相位,实部和虚部。另外,这些程序模块还可以将复数图像变换成复数二维矩阵,或相反。该子模板中的程序模块也可以进行一些基本复数图像间以及复数图像与常数间的算术运算-如加、减、乘、除 运算。最后,其中的一些程序模块可以进行

39、频域的滤波。如图2-20图2-20 FFT 对图像进行 FFT 变换。 InverseFFT 对图像进行 FFt逆变换。 ArrayToComplexImage 将数组转化为复数图像 ArrayToComplexPlane 将数组转化为复平面量 ImageToComplexPlane 将图像转化为复平面量 ComplexImageToArray 将复数图像转化为数组 ComplexPlaneToArray 将复平面量转化为数组 ComplexPlaneToImage 将复数平面量转化为图像 ComplexConjugate 求已知图像得共轭图像 ComplexAttenuate 降低复数图像的

40、频率 ComplexAdd 复数图像之间的相加,或复数图像和常数相加 ComplexSubtract复数图像之间的相减,或复数图像和常数相减 ComplexFlipFrequency 变换复数图像中的频率成分。将高频和低频交换。 ComplexTruncate 在复数图像中滤波。可以选择高通和低通进行滤波。 ComplexMultiply 复数图像之间的相乘,或复数图像和常数相乘 ComplexDivide 复数图像之间的相除,或复数图像和常数相除2.3.4 机器视觉(Machine Vision模块)机器视觉函数是一些高级程序模块,用于简化常用的机器视觉任务。如图2-21图2-21Selec

41、t Region of Interest选择关注区程序模块组,用于选择关注区、在图像窗口上画特殊的关注区,以及使用非常少的编程返回关注区信息。如图2-22 图2-22Coordinate System坐标系统分组,用于发现与图像中物体相关的坐标系统。利用这些程序模块发现坐标系统,即可以用于边沿检测也可以用于模式匹配。还可以利用这个坐标系统从其他机器视觉程序中进行测量。如图2-23 图2-23Count and Measure Objects计数和测量物体组,该程序模块可以通过阈值将图像分割成孤立的对象,然后查找并测量这些对象的特性。该程序模块还可以在测量时忽略未知的对象。如图2-24 图2-2

42、4Measure Intensities测量强度程序模块组,用于测量一个点上的像素密度或者一个线或一个矩形区域内的像素密度统计。如图2-25图2-25Measure Distances测量距离程序组,两条纵向边沿之间的最小和最大水平距离,或者两条横向边沿之间的最大和最小垂直距离。如图2-26 图2-26Locate Edges边沿查找程序组,查找垂直、水平、和圆形边沿。如图2-27 图2-27Find PatternsA VI that learns and searches for a pattern in an image. Searching and Matching搜索和匹配程序组。用

43、于在灰度和彩色图像中建立和搜索模式。该子模板包括一个可以在二值图像中搜索制定形状对象的程序。如图2-28 图2-28Caliper卡尺,一组用于在图像的不同断面查找边沿的程序模块。使用这些程序可以沿着一条线、矩形区域(耙子)中的一组平行线、圆形区域(同心耙)中的一组平行同心线,或者圆形区域(轮子)中的一组辐射线查找边沿。还可以适用这里的程序查找图像中满足一定条件的对边。如图2-29 图2-29Analytic Geometry分析几何程序组,用于对在图像中一个点集中做分析几何运算。这些程序适用于图像中线、圆、椭圆的点集;计算一个点集代表的多边形的面积;测量点之间的距离;计算点所代表的线之间的夹

44、角。该子模板中的程序还可以实现诸如查找两条线的交点以及查找两条线夹角的等分线等运算。如图2-30 图2-30OCR光学字符识别程序组,用于光学字符识别和图像的区域检验。Classification分类程序组。根据形状或用户定义的特征向量对二值对象进行分类。Instrument Readers设备读取程序组。用于快速开发需要从7段代码显示、计量仪表、指针、一维条码、二维条码中读取信息的程序开发。 Inspection检测程序组。将图像与一个标准模板对比。如图2-31 图2-312.3.5 NIIMAQdx模块模块如图2-32图2-322.3.6 NI IMAQ I/O模块用于Vision采集图像

45、的输入和输出。如图2-33图2-332.3.7 快速视觉(Vision Express模块)Vision Express 用于快速开发常用的图像采集和处理应用。如图2-34图2-34Vision Acquisition视觉获取,是一个Express VI,可以方便的配置用于获取来自模拟、数字、相机连线、IEEE 1394以及GigE版本相机的图像。 Vision Assistant视觉助手。利用NI Vision Assistant可以在LabVIEW 环境中完成一些常用的图像处理任务。第3章 图像的采集与识别3.1 图像3.1.1 总体设计 在开始获取、分析、处理图像之前,必须先建立图像系统

46、。建立图像系统的方法取决于图像环境以及分析和处理的需要。图像系统应该产生足够高的质量以能够从图像中获取信息。搭建图像系统的完整步骤如下。根据给定的颗粒限制以及被检测物体的尺寸,确定设备类型。参考NI Vision概念手册中第三章,系统设置与校准 。确保相机传感器足够大以满足对最低分辨率的要求。 确保镜头景深足够高以保证焦点内的所有物体都不会因为镜头而畸变。还要确保镜头的焦距满足需要。 确保光照能够提供被检测物体与背景之间有足够的对比度,一便从图像中获取信息。 将相机摆放在与被测物体垂直的位置。如果相机获取的物体的图像带有角度,就会产生透视误差。即便可以通过软件补偿这些误差,National Instruments 还是建议采用垂直的角度以获得最精确的结果。 选择一个满足需要的图像采集设备。National Instruments 提供了许多图像获取设备,例如模

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

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号