大家看看我这个能1070超频到多少能稳定吗

基于LabVIEW和USB摄像头的图像采集与处理_电气毕业论文_第一论文范文网
第一论文范文网免费提供电气毕业论文范文,电气毕业论文格式模板下载,并提供论文代写代发服务!
论文分类导航
基于LabVIEW和USB摄像头的图像采集与处理
金雨1,李红莉2
(1.合肥工业大学宣城校区,安徽宣城.合肥工业大学,安徽合肥230009)
摘要:为了实现实时的图像采集与处理,利用通过基于LabVIEW软件平台和NI?IMAQ Vision函数工具包,探讨如何通过通用USB摄像头进行图像采集和处理的方法。包括如何快速搭建软件平台、如何进行单一图像的抓取及图像的常规处理,灰度、二值和增强处理,以及如何获得连续的视频图像采集和压缩。该方法相比于其他图像获取与处理手段,其具有无法比拟的优势。它成本低廉,相对于其他语言的实现方法其编程具有极高的效率,并且该方法能满足一般工业、医用和民用需求。
教育期刊网 关键词 :LabVIEW;USB摄像头;图像采集;图像处理
中图分类号:TN911.73?34 文献标识码:A 文章编号:X(7?04
Image acquisition and processing based on LabVIEW and USB cameraJIN Yu1,LI Hongli2
(1. Xuancheng Branch of Hefei University of Technology,Xuancheng 242000,China;2. Hefei University of Technology,Hefei 230009,China)
Abstract:To achieve real?time image acquisition and processing,the method of image acquisition and processing by usingUSB camera is discussed on the basis of LabVIEW software platform and NI?IMAQ Vision function toolkit. This method includeshow to construct software platform quickly,capture the single image,deal with image common processing (grey scale,binaryand enhancement processing),and obtain continuous video image acquisition and compression. Compared with other image acqui?sition and processing means,this method has incomparable advantages. This method has cost low,and high program efficiencyrelative to other languages’implementation methods,and can satisfy the requirements of general industrial,medical and civiluse.
Keywords:LabVIEW;USB camera;image acquisition;image processing
视频采集可将连续的模拟信号图像转换成数字视频,并按数字视频文件的格式保存。尽管人眼的分辨力较高,有较好的色彩区分和图像识别能力,但人眼的识别与区分功能也是有限的,一些图像对于人眼来说较为复杂。图像、图形是所有视觉信息的载体,而数字图像处理(Digital Image Processing)技术可以帮助人们更客观、准确地认识世界,通过图象增强技术,可以使模糊甚至不可见的图像变得清晰明亮,数字图像处理技术已经广泛深入地应用于科技发展的各个领域。
随着测控技术的不断发展,视频采集和数字图像处理成为测控技术中的重要一环,作为对被测对象的识别、分析的最佳手段,是工程人员需要掌握的核心技术之一。视频采集卡是视频采集工作中的主要设备,而目前视频采集卡成本普遍较高[1],加之数字图像处理难度较大,常常使得普通用户望而却步。
本文介绍一种基于NI公司提供的LabVIEW图形化编程软件平台以及Vision Acquisition Software 和VisionDevelopment Module工具包,采用通用USB摄像头进行图像采集和图像处理的具体实现方法,以方便用户低成本、简便地获取所需要的图像信息。
1 建立基于LabVIEW 的图像采集平台
利用LabVIEW 对通用USB摄像头视频图像进行采集和处理的系统构成如图1所示。其中,通用USB摄像头安装后,可以在计算机的“设备管理器”的“通用串行总线控制器”中查看相关的USB摄像头信息。摄像头驱动软件一般为系统自动安装,特殊情况下需使用者自行手动下载安装。
基于LabVIEW 的图像采集系统中,NI公司提供的LabVIEW 图形化编程环境作为程序开发的基本平台。NI?VISA 是一个用来与各种仪器总线进行通信的高级应用编程接口(API),包含VISA 的全套驱动程序、开发包、相关文档及美国国家仪器公司(NI)提供的一个控制软件Measure? ment & Automation Explorer(MAX)。安装了NI?VISA,LabVIEW 即可访问计算机上的设备和接口。IMAQ Vision是LabVIEW 的视觉开发工具包,是一个具有强大功能的函数库,提供了在LabVIEW 平台上进行图像采集、机器视觉系统开发时所需的各类子程序[2?3]。
安装后,可在“视觉与运动”函数子选板下看到可用的函数和VI库,同时在“NI MAX”中可查看摄像设备是否已可以在LabVIEW 下调用[4]。IMAQ Vision模块中的IMAQ用于NI自己的摄像机,IMAQdx用于非NI的USB,1394,GigE Vision 视频设备。用于USB 摄像头的NI?IMAQdx能够实现从任意具有DirectShow支持的USB成像设备上采集图像,可以选择一次或连续图像采集。VDM(Vision Development Module)用于图像处理,该工具包也需要单独安装。安装后,前面板Vision列表中会增加IMAQ视觉模块和机器视觉模块两个控件模块,后面板的“视觉与运动”中将增加图像处理和机器视觉两个模块。通过调用IMAQ Vision和VDM 下的相关函数和VI编写相应的图像采集和处理用户程序,控制通用USB摄像头抓拍或者连续采集图像,保存图像文件,并对图像进行压缩和灰度、二值化及增强等图像处理。可见,该系统硬件选用简单,侧重软件设计,且有工具包可以辅助编程,因此功能实现方便,开发周期短,成本低。
2 图像采集
2.1 USB摄像头图像抓取
USB摄像头图像抓取程序包括两个事件:一是抓取图像并输出到图像显示窗口;二是将抓取的图像存储到文件。程序执行的过程是首先打开所选择的摄像头,创建临时图像存储空间,启动图像抓取,如果拍照按钮没有按下,则将获取到的当前帧送图像显示窗口显示;如果拍照按钮按下,则将获取的当前帧以“.JEPG”格式保存到文件。后面板程序如图2所示,运行结果如图3所示。通过该方法能够快速地获得所需单幅图像并存储。
2.2 连续视频图像采集
连续视频图像采集程序如图4 所示。首先打开所选择的摄像头,创建临时图像存储空间,根据文件路径对话框所选择的文件创建“.AVI”文件,开启图像抓取,获取当前帧并送图像显示窗口显示,同时将获取的当前帧保存到“.AVI”文件。单击退出按钮,关闭摄像头,关闭“.AVI”文件,清空图像存储空间。连续视频图像采集运行结果如图5所示,通过该方法能够方便地获得连续的视频图像。
3 图像处理
3.1 图像压缩
由数字化得到的一幅图像的数据量十分巨大,一幅典型的数字图像通常由640×480,1 024×768 或更高个像素组成。如果是动态图像,则其数据量更大,因而图像压缩对于图像的存储和传输都十分必要。有两类压缩算法,即无损压缩和有损压缩[5]。最常用的无损压缩算法是通过取空间或时间上相邻像素值的差,再进行编码;有损压缩算法大都采用图像变换的方法,例如对图像进行快速傅里叶变换或离散的余弦变换。图像压缩国际标准JPEG 和MPEG 均属于有损压缩算法,前者用于静态图像,后者用于动态图像。
通过设置IMAQ AVI Create子VI的视频编码(Com?pression Filter)方式可实现视频图像压缩。AVI(AudioVideo Interleaved)是微软公司推出的一种视频格式,可以采用不同的编码器进行视频压缩,一般情况下系统都带有一些编码器,只要输入正确的名称即可使用这些编码器进行视频压缩[6]。为了获取解码器名称,使用Lab?VIEW 自带的IMAQ AVI Get Filter Names子VI实现,如图6所示,获取到的编码器名称如图7所示。
图6 获取编码器名称程序图7 获取到的编码器名称对于采集3 min的视频图像,不采用压缩算法文件大小约为2 GB;采用MJPEG Compressor压缩算法时文件大小约为400 MB;采用DV Video Encoder 压缩算法时文件大小为100 MB。可见选择不同的压缩编码算法,得到的压缩比不同。
3.2 图像处理
数字图像处理是通过计算机对图像进行去除噪声、增强、复原、分割、提取特征等处理的方法和技术。NI公司的Vision Development Module 结合IMAQ Vision后,就形成了一套包含各种图像处理函数的功能库,它将400多种函数集成到LabVIEW开发环境中,为图像处理提供了完整的开发功能[7]。这里通过图像灰度处理、图像二值化处理、图像增强简要介绍如何使用Lab?VIEW的Vision Development Module进行图像处理。
3.2.1 图像灰度处理
将彩色图像转化成为灰度图像的过程称为图像的灰度化处理。利用IMAQ Extract Single Color Plane VI很容易实现图像的灰度化处理,程序如图8所示。首先为读取的图像文件创建临时图像存储空间,从图像文件中读取图像,一路直接送图像显示窗口,一路经图像类型转换VI,将RGB 图像颜色空间转换成HSL 图像颜色空间,然后经图像提取VI提取出灰度图像送灰度图像显示。其中用到的参数HSL色彩模式是工业界的一种颜色标准,是通过对色相(H)、饱和度(S)、明度(L)三个颜色变量的变化以及它们相互之间的叠加来得到各式各样的颜色[8]。这个标准几乎包括了人类视力所能感知的所有颜色,是目前运用最广的颜色系统之一。图像灰度处理结果如图9所示。
3.2.2 图像二值化处理
图像的二值化处理是将图像上各点的灰度置为0或255,这样整个图像将呈现出明显的黑白效果。即将256 个亮度等级的灰度图像通过适当的阈值选取而获得仍然可以反映图像整体和局部特征的二值化图像。将3.2.1 中得到的灰度图像再经过图像阈值处理函数(IMAQ Threshold VI)即可得到二值化图像。程序如图10所示,运行结果如图11所示。
3.2.3 图像增强
图像增强指按特定的需要突出一幅图像的某些信息,同时削弱或去除某些不需要信息的处理方法,是图像处理的最基本手段,是各种图像分析与处理时的预处理过程。图像增强的目的是通过对图像灰度作修正,改善图像的视觉效果,提供直观、清晰、适合于分析的图像。LabVIEW 通过IMAQ BCGLookup VI实现图像的增强,程序见图12。从图像文件中直接读取图像的灰度信息,并显示原图像的灰度图像,将灰度图像送给图像增强函数进行增强处理。图像增强运行结果见图13。
NI?IMAQ 能够从任一DirectShow 成像设备上对图像进行采集,此类设备包括:USB摄像头、网络摄像头、显微镜、扫描仪和诸多消费者级的成像产品。用户可借助NI?IMAQ 配置自身设备,利用LabVIEW 开发所需的图像采集处理软件,结合NI视觉开发模块,使用者可利用滤波器、二进制形态学、模式匹配和色彩检测等上百种图像处理工具分析图像。
除此之外,利用LabVIEW 实现的图像采集与处理还可以为工业检测、测量提供极其简便的操作及显示界面,缩减了利用其他编程语言所需的庞大工作量,这不仅降低了编程人员的工作时间,也提高了工业生产的效率并能有效降低其成本。
教育期刊网 参考文献
[1] 于子江,娄洪伟,于晓,等.LabVIEW应用于实时图像采集及处理系统[J].微计算机信息,):98?100.
[2] National Instruments. NI ? IMAQ for USB cameras user guide[R]. USA:National Instruments,2005.
[3] National Instruments. NI vision for LabVIEW user manual [R].USA:National Instruments,2005.
[4] 廖传书,黄道斌,孙旦均,等.LabVIEW与USB的直接数据通信[J].现代电子技术,):4?6.
[5] 熊云鹏,韩淼,李倩.基于LabVIEW 的图像压缩的研究[J].现代电子技术,):169?171.
[6] 吴仁涛,姜云海,左建勇.基于LabVIEW 平台的USB视频采集方法与应用[J].工业仪表与自动化装置,2011(3):80?83
[7] 阚钰淇,张宁,徐熙平.LabVIEW 平台下USB 图像采集与处理系统设计[J].工业仪表与自动化装置,2013(6):80?82
[8] 刘晓乐,王素华.灰度图像基本处理及实现[J].吉林化工学院学报:自然科学版,):50?52.
作者简介:李红莉(1976—),女,安徽颍上人,讲师。研究方向为测试计量技术及仪器、测量不确定度评定。
浏览次数:  更新时间: 19:15:11
网友评论《基于LabVIEW和USB摄像头的图像采集与处理》
本类论文总排行版
本类论文本月排行
本类论文本周排行更多信息:
Labview中的图像处理案例介绍
发布时间:
之前我们介绍了的实时图像获取方法,本文再结合labview的图像处理函数给出一种简单的图像处理VI。此处的图像处理包括对图像进行采样,找出与采样点相同的图像。为了找出各种角度放置的采样点,在查找的同时对图像进行了360°的翻转,这样可以找出图像上所有相同点。由于软件的运行比较复杂,数据的采集又是实时的,要求处理速度比较快,所以要对其进行整体设计,合理安排控件的调用和执行顺序。本程序中采用了一个大循环,保持程序的持续运行。在内部再调用一个顺序结构来控制程序的执行顺序,这样可以保证程序按编程者的思路进行。图像采集&整个程序流程图读取了图像数据后,还要设置查找的像素。这里通过一个光标选择函数来实现。先用函数IMAQ Setup Learn Pattern 2来设置需要记录的各项,然后再用IMAQ Extract函数进行光标设置。这样就记录了此光标区域的图像数据。设置查找像素这里用一个条件结构来控制是否进入记录像素的程序,也就是当选择了要记录的像素后,才进入此分支程序。在这一分支程序中,又利用了一个顺序结构,这样提高了程序运行的效率。复位记录按钮当设置完以上要查找的像素后,就可以在需要的图片中查找此像素。为了查找有用的像素,在选择了“开始查找”后,要先读取上面标记的像素,再进行查找。此处程序的设计中,也是先运行一个条件结构,再运行顺序结构,按顺序执行程序。读取选择的像素当读取像素后,利用顺序结构在第二帧的图像中继续查找。在这一帧中放置了一个循环,并限制循环次数为4。此时先用一个IMAQ Rotate对图像进行翻转,每次翻转90°。这样就可以在循环4次时翻转一周,对图像上各个角度的像素进行查找。再把图像送到IMAQ Match Pattern 2函数,对其进行查找。通过此函数直接输出找到的像素信息的数组。为了对找到的信息进行处理,又用一个For循环对此数据和簇进行拆分。程序编写完成后,要对系统进行软硬件的联机调试。这里把维视图像的MV-EM130M工业相机用网线和计算机连接,并在计算机上安装驱动程序。具体操作如下:(1)运行本程序,在摄像头下放置好一块电路板,并对其设置好焦距和亮度。单击“开始采集”按钮,对其进行采集,并显示实时采集到的图像。图像采集(2)当采集完一次后,在界面上可以看到清晰的采集结果。此时我们用光标在需要进行识别的地方画出一个区域。此时光标变为绿色,表示用光标选中了要记录的像素。然后单击“学习标记”按钮,此光标消失,表示已经记录(学习)完成。这里选中的是电路板上字母C,让程序学习记录,并找出界面上所有的字母C。设置学习区域(3)记录学习完成后,就可以查找相同像素的点了。单击“开始查找”按钮后,程序开始在此图上查找记录的像素点,并以此像素点为标准,进行比对,找出相同的点。查找的过程中标出了各个点的坐标和编号。这里把标签类型设置为“A”,以Shift Invariant的方式查找,精度设置为700,最大数目设置为40。这样就可找出所有相同的元素。查找结果从图中可以看出,查找过程中,程序找出了所有字母C,并标注了它们的坐标和标签。此处的标签有些不是端正的,主要是由于在对图片进行翻转查找时,按相应的角度找到后直接就标记了。如标签A43(70,471)表示的意义如下:字母A是对程序进行查找前设置的标签类型。4表示此图片翻转到第4次找到的,即第4个角度。3表示是此角度下的第3个点。(70,471)表示当前查找到像素的中心坐标,即此目标的X=70,Y=471,坐标的值是从图像开始的左上角界面算起的。同时可以看到界面的下面显示了图片的属性,如图片大小、位数等。最后还可以看到一个“已查找到总个数”本框,此处显示的是8个目标。这和图上标注的一样,也和实际完全相符。从以上的例程可以看出,使用可直接兼容labview驱动的工业相机在labview中做图像处理是最方便和高效的。维视图像为您提供高性价比的国产工业相机,并且无缝兼容labview开发。
Copyright (C) &北京博科创新机器视觉技术有限公司&All Rights Reserved
| 京ICP备号&&地址:北京市朝阳区北苑路168号中安盛业大厦8层
维视图像(西安)
远心光学事业部
智能视觉事业部
院校事业部
维视图像(深圳)
中国机器视觉商城
电话:010-GuoYJ 的BLOG
用户名:GuoYJ
评论数:29
访问量:115775
注册日期:
阅读量:5863
阅读量:12276
阅读量:418761
阅读量:1106790
[匿名]51cto游客:
51CTO推荐博文
本节介绍如何建立图像系统,采集和显示图像,分析图像,以及为进一步处理准备图像。
建立图像系统
在开始获取、分析、处理图像之前,必须先建立图像系统。建立图像系统的方法取决于图像环境以及分析和处理的需要。图像系统应该产生足够高的质量以能够从图像中获取信息。
搭建图像系统的完整步骤如下。
根据给定的颗粒限制以及被检测物体的尺寸,确定设备类型。参考NI Vision概念手册中第三章,系统设置与校准 。
确保相机传感器足够大以满足对最低分辨率的要求。
确保镜头景深足够高以保证焦点内的所有物体都不会因为镜头而畸变。还要确保镜头的焦距满足需要。
确保光照能够提供被检测物体与背景之间有足够的对比度,一便从图像中获取信息。
将相机摆放在与被测物体垂直的位置。如果相机获取的物体的图像带有角度,就会产生透视误差。即便可以通过软件补偿这些误差,National Instruments 还是建议采用垂直的角度以获得最精确的结果。
选择一个满足需要的图像采集设备。National Instruments 提供了许多图像获取设备,例如模拟的彩色和单色设备以及数字设备。更多有关NI图像采集设备的详细信息,请访问:ni.com/vision 。
为图像采集设备配置驱动程序软件。如果拥有一台NI图像采集设备,可以通过Measurement& Automation Explorer (MAX)配置NI-IMAQ 或NI-IMAQdx驱动程序。 在桌面上双击Measurement & Automation 图标打开MAX 。详细信息参见Measurement & Automation Explorer Help。
校准图像系统
建立图像系统后,可以校准系统,为像素坐标指定实际的坐标,补偿图像系统中固有的角度和非线性误差。
像机与被测物体不垂直发生透视误差。非线性失真可能来自像机镜头畸变。透视误差和镜头畸变导致出现扭曲的图像。这种失真替代了图像中的信息,但并不一定是破坏映像中的信息。
如果仅仅希望为像素坐标指定实际的坐标使用简单校准。如果需要补偿透视误差和非线性镜头扭曲使用透视和非线性扭曲校准。
使用IMAQ Create程序建立一个引用图像。建立图像时,要制订下列图像数据类型之一:
Grayscale (U8, default)―8-位无符号
Grayscale (U16)―16-位无符号
Grayscale (I16)―16-位有符号
Grayscale (SGL)―浮点
Complex (CSG)―64-位复数
RGB (U32)―32-位 RGB
HSL (U32)―32-位HSL
RGB (U64)―64-位RGB
如果需要可以多次执行IMAQ Create建立多个图像,但所创建的每个图像都需要唯一的名称。通过分析预期的应用程序确定所需的图像个数。依据是程序的不同的处理阶段及是否需要为每个处理阶段后保持原始图像。
说明 如果打算在图像上使用滤波或颗粒分析程序,必须保证图像有合适的边沿尺寸。默认的边沿尺寸为三个像素。
当创建图像时,NI Vision建立了一个内部的图像结构以保存图像的属性,如名称和边沿尺寸。然而,此时没有为图像像素分配内存。NI Vision程序在图像尺寸修改时自动分配一定量的内存。例如,采集和重取样程序改变图像尺寸所以它们会为图像像素分配适当的内存。IMAQ Create的输出是一个图像结构的引用。 可将该引用作为输入提供给所有NI Vison函数的子程序。
开发期间,可能需要在运行时验证图像的内容。使用LabVIEW图像探针可以在运行期间察看图像的内容。要建立探针,右击图像连接线,选择Probe即可。
许多属于NI Vision库的程序都需要一个或多个图像引用。所需的图像引用的数量取决图像处理函数和希望使用图像的类型。
分析图象的NI Vision模块不修改只需要一个图像引用输入的内容。处理图像内容的模块可能要求一个引用作为源图像和一个目标图像,或者模块有一个可选的目标图像。如果不能提供源图像,模块会修改源图像。
在应用程序的最后,利用IMAQ Dispose模块释放所创建的图像。
输入输出合并
根据模块完成的功能类型的不同,输入输出可能会产生不同的合并。可以利用这种灵活性决定要处理那个图像以及在哪里保存结果图像。如果没有膜表图像连线,那么使用源图像并传递给目的输出。
下面的图描述了NI Vision中一些模块的接线板。
下面的连线板仅用于分析图像的模块,所以既不改变图像尺寸也不改变内容。 这种操作的例子包括颗粒分析和直方图计算。
下面的连线板介绍了图像遮罩。
Image Mask 输入端表明处理和分析是依赖与另外一个图像的内容:Image Mask。仅当Image Mask中对应的像素不为空时Image中的像素才被处理。如果一个Image Mask的像素是0, 对应的Image 像素不会被改变。
说明 除了IMAQ定量模块之外,所有的NI Vision程序的图像遮罩都必须是8-bit的图像,IMAQ定量模块支持8-bit和16-bit的图像遮罩。
如果要对整幅图像进行处理或分析,就不要连接Image Mask输入端。 将同一个图象既连接到Image 的输入也连接到Image Mask 的输入,与将Image Mask 的输入端开放不连的效果是一样的,除非是Image 必须是一个8-bit的图像情况下。
下面的连线板用于完成图像填充的程序。
这类操作的例子包括读取文件,从NI图像采集设备采集图像,或者将一个二维矩阵转换成图像。这类模块可能修改图像的尺寸。
下面的连线板用于处理图像的模块。
这种连接器是NI Vision中最常见的。Image Src输入端接收要处理的图像。Image Dst 输入端可以接收另一个图像或者是源图象,取决于使用的目标。如果两个不同的图像连接到两个输入端,那么源Image Src 图像不被修改。如下图所示,如果Image Dst 和 Image Src 输入端接收同一个图像,或者Image Dst不连接,处理过的图像被放到源图像,而原图像数据丢失。
Image Dst 输入端是接收处理结果的图像。根据模块功能的不同,即可能与源图像相同,也可能不同。各个模块的介绍都包括可以连接到Image 输入端的图像类型。连接到Image Dst 的图像根据源图像调整大小。
算术与逻辑运算
下面的连线板用于在两个图像间进行算术或逻辑运算的模块。
目标图像需要两个源图像存在。可以在两个图像A 和B之间完成一个运算,然后把结果存放到另一个图像或者是Image Dst中,或者存放到两个源图像之一A 或B中。在后一种情况下,可以认为源数据在处理发生之后就没用了。 下面的合并在这种接线板中是可能的。
左面的接线板中,三个图像都不同。Image Src A 和 Image Src B 在处理后原封不动,运算的结果存放到Image Dst中。
中间的连线板中,Image Src A 也接到了Image Dst, 所以接收到了运算的结果。在这种运算中,Image Src A 的原数据被覆盖。
右边的接线板中,Image Src B 接收运算的结果,其原数据被覆盖。
许多两个图像之间的运算要求具有相同的类型和大小。然而,算术运算可以在两个不同类型的图像间进行。
采集或读取图像
创建了图像引用之后,可以通过三种途径将图像采集到图像系统中。通过图像采集系统中的相机采集图像,从计算机中存储的文件装载图像,或者将存放在二维矩阵中的数据转换为图像。采集图像、从文件装载图像或从二维矩阵转换图像的程序模块自动地为图像数据分配适当的内存空间。
利用National Instruments 图像采集设备可以采用以下方法之一采集图像:
1.使用IMAQ Snap(块照) 程序采集单幅图像。调用该程序时,将初始化图像采集设备,并采集下一个视频帧。该模块用于单一的采集程序,主要是编程方便。
2.通过抓拍连续采集图像。抓拍功能实现了在一个缓冲区上连续循环采集。抓拍功能用于采集高速图像。IMAQ Grab Setup用于启动采集,IMAQ Grab Acquire用于返回当前图像的一个拷贝,IMAQ Stop用于停止采集。
3.IMAQ Sequence用于采集固定数量的图像。IMAQ Sequence一张接一张的采集图像直到达到要求的数量。 如果只采集某些特定的图像,可以为IMAQ Sequence提供一张表,描述在采集到每帧后跳过的帧数。
说明 在完成图像采集后,必须使用IMAQ Close 或者IMAQdx Close Camera 释放分配给图像采集设备的资源。
IMAQ ReadFile用于打开并读取计算机中存储的文件数据到图像引用中。 可以读取以标准格式存储的图像,如BMP, TIFF, JPEG, JPEG2000, PNG, 和AIPD,或则制定的非标准格式。通常,软件会自动将像素转换成所传递的图像类型。
IMAQ Read Image and Vision Info用于打开图像文件所包含的附加信息, 如校准信息,用于模式匹配的模板信息,或者蒙板信息。有关模式匹配模板和蒙板的内容,参见完成机器视觉任务 。
也可以使用IMAQ GetFileInfo读取图像属性-图像尺寸,像素深度 ,推荐的图像类型,以及校准单位,而不用实际读取全部图像数据。
IMAQ AVI Open 和IMAQ AVI Read Frame 用于打开和读取存放在计算机中的AVI文件,并传送到图像引用中。NI Vision自动将像素转换成所传递的图像类型。
说明 完成AVI读操作后,必须使用IMAQ AVI Close 释放分配给AVI文件的资源。
IMAQ ArrayToImage 用于将二维矩阵转换成图像。也可以是用IMAQ ImageToArray 将图像转换成LabVIEW 的二维矩阵。
LabVIEW 中有两种显示图像的方法。可以利用外部现实函数模版中的外部显示程序模块在外部窗口中显示图像,也可以Vision控件模板中的Image Display 控件将图像直接显示在前面板上。
外部窗口显示
在外部窗口显示图像示,使用IMAQ WindDraw 。最多可以在16个外部窗口中显示图像。IMAQ WindSetup 用于配置每个外部窗口的外观。例如,可以决定窗口是否需要滚动条,是否可变化大小,或者是否有标题栏。也可以使用IMAQ WindMove 将尾部图像窗口定位在监视器的一个特定位置。
说明 外部图像窗口不属LabVIEW 面板。他们直接由NI Vision管理。
通过将调色板应用给窗口,可以将调色板用于显示灰度图像。IMAQ GetPalette用于获得预先定义的调色板 。例如,如果要显示二值图像(一种含有特殊像素值得图像,内容像素值为1,背景的像素值为0),可以使用预先定义的二值模版。关于调色板的内容,参见NI视觉概念手册。
说明 在程序的最后,必须使用IMAQ WindClose关闭所有打开的外部窗口。
图像显示控件
Image Display 控件用于在LabVIEW前面板中显示图像。如下图所示。在前面板上点右键并选择Vision ,可以找到Image Display 控件。
1 显示区域
3 关注区工具选项板
2 图像信息显示器
要想显示图像,在后面板中将NI Vision模块的图像输出连接好,如下图所示。
Image Display控件包含以下元素:
显示区域―显示图像。
图像信息显示器―显示图像的相关信息以及当前所画的关注区的信息。
关注区工具选项板―包括绘制关注区工具、移动、缩放工具。与外部显示窗口不同,每个图像显示控件都有自己的工具集。
滚动条―允许移动显示区中的图像。
设计期间,可以重新安排控件元素的布局可以定制控件的外观,通过快捷菜单,或者选择控件并点击Edit?Customize Control 可以配置属性。
运行期间,可以通过属性节点定制控件的许多部分。
说明 不是所有的设计期间的功能都在运行时可用。
要想建立属性节点,在控件上右击鼠标并选择Create?Property Node。 单击属性节点就可以看到可以设置的属性。图像显示控件特有的属性出现在列表的尾部。
下面的列表介绍部分图像显示控件可用的属性:
快照模式(Snapshot Mode)―决定控件建立一个图像的拷贝还是使用图像的引用。当允许快照模式时, 如果检测图像在应用程序中后来变化了,图像显示控件仍然显示图像显示控件连接成功时所提供的图像。
允许快照模式可能会降低程序的运行速度,因为控件要为图像产生拷贝。当需要每次都要显示图像的快照是,允许该属性。 如果需要快速显示结果时,禁用该属性,例如在抓拍采集期间。快照模式属性默认是禁止的。
说明 为了使图像显示控件直接刷新图像,可以使用Refresh Image 方法。 要创建方法,右击控件,并选择 Create?Invoke Node。 点击Invoke Node可以看到可用的方法。 图像显示控件特殊的方法出现在快捷菜单的底部。
调色板(Palette)―决定图像显示控件使用哪个调色板显示图像。可以为控件配置预定义调色板或自定义调色板。使用User Palette属性节点设置自定义调色板。 也可以在运行时右击图像控件改变控件的调色板或图像探针。
最大轮廓数(Maximum Contour Count)―设置图像显示控件上用户可以绘制关注区轮廓的最大数目。
图像显示控件还包括如下方法:
Get Last Event―返回最后的用户事件,从图像控件上返回鼠标移动和点击的结果。该方法与外部显示窗口中的IMAQ WindLastEvent 作用相同。
Clear ROI―清除图像显示控件中的关注区。
Refresh Image―刷新显示,以显示最新的图像。在禁用快照控件时使用该方法,但是图像显示控件只能显示图像的最后变化。
加入校准信息
如果期望将当前设置的校准信息赋给每个采集的图像,使用IMAQ Set Calibration Info模块。 该模块接受带有校准信息的源图像和需要校准的目的图像。输出图像是带有附加了校准信息的检测图像。详细内容参见校准图像一节。
说明 由于校准信息是图像的一部分,它将被传播到图像的处理和分析中。更改图像大小的函数,如几何变换,使校准信息作废。IMAQ Write File 2的实例IMAQ Write Image and Vision Info File 2 可以将图像和所有附加的校准信息保存到文件中。
获得并显示图像后,基于以下原因可能需要分析一下图像的内容:
1.确定图像质量是否足以达到检测任务的要求
2. 获得检测处理期间需要使用的参数值
直方图和线框工具有助于分析图像的质量。
IMAQ Histograph 和 IMAQ Histogram 模块用于分析图像的整体灰度分布。使用直方图可以分析决定图像质量的两个重要指标,饱和度和对比度。如果在没有充分照明的环境下采集的图像曝光不足,那么大多数像素的密度值低,表现为峰值集中在直方图左边。如果在光照过强的环境下采集的图像曝光过度,那么大部分像素的密度值高,表现为峰值集中在直方图右边。如果图像具有合适的对比度,直方图像素集中区域会分开。利用直方图信息可以确定图像质量是否足以能将关注物体从背景中分离出来。
如果图像质量满足需要,可以使用直方图确定图像中与物体对应的像素范围。 可以在处理函数中使用这个范围,例如在颗粒分析中确定阈值范围。
如果图像质量不满足要求,应该尝试改进图像条件以获得必要的图像质量。需要重新评价及修改各项要素:照明设备与设置,镜头调节,相机工作模式,以及采集参数。如果各项设置都达到了最大可能的条件而图像质量还是不能满足要求,可以尝试采用有下节中介绍的图像处理技术来改善图像质量。
IMAQ LineProfile 模块用于获得图像中沿着一条线的像素分布, IMAQ ROIProfile模块用于获得图像中沿着一个一维路径的像素分布。要使用线形轮廓分析图像,在图像中沿着物体的边沿画一条线,或指定一条线。 IMAQ LineProfile 用于检测沿着这条线的像素值。观察沿着这条线的像素分布情况,可以判定图像质量是否能在物体的外围提供锐利的边沿。同时可以确定图像是否有噪声,以及识别噪声的特征。
如果图像满足要求,就可以使用像素分布信息来确定一些检测函数中需要用到的参数。例如,适用来自线形轮廓的信息来确定物体周围的边沿强度。可以讲这个信息输入到IMAQ Edge Tool 2 模块中,以便查找沿着这条线的边沿。
根据分析图像收集到的信息,可能需要改善图像的质量以便于检测。可以通过查找表、滤波器、灰度几何,以及快速弗里埃变换改善图像。
应用查找表(LUT)变换提高其它区域中损失了的包含重要信息区域的亮度。 查找表变换将源图像中的输入灰度值转换成变换后图像中的其它灰度值。NI Vision提供了四个模块可以直接或间接的江查找表用于图像。:
1、IMAQ MathLookup―用预定义的查找表替换图像的像素值。NI Vision有七个基于算数变换的预定义查找表。有关这些查找表的详细信息参见NI视觉概念手册,第五章,图像处理。
2、IMAQ UserLookup―用自定义的查找表替换图像的像素值。
3、IMAQ Equalize―将灰度值平坦的分布在给定的灰度区间内。 IMAQ Equalize用于为包含较少灰度值的图像增强对比度。
4、IMAQ Inverse―反向图像的像素密度,获得图像的负片。例如,如果背景像素比物体像素还亮得话,在为图像进行自动阈值处理之前适用IMAQ Inverse。
滤波器用于改善图像中过渡区域的锐度或者增强图像的整体信噪比。 根据需要既可以选择低通滤波,也可以选择高通滤波。
低通滤波器通过平滑图像去掉不必要的细节,去掉锐利的细节,以及平滑物体与背景之间的边沿。可以使用MAQ LowPass模块,或者使用IMAQ Convolute 或 IMAQ NthOrder定义自己的低通滤波器。
高通滤波器强化细节,例如边沿,物体边缘,或裂缝。这些细节表现为密度值的强烈过渡。使用IMAQ Convolute 或 IMAQ NthOrder模块可以定义自己的高通滤波器,或者使用IMAQ EdgeDetection 或 IMAQ CannyEdgeDetection 模块。IMAQ EdgeDetection 使用预定义的边沿检测内核查找边沿,例如Sobel, Prewitt, 和 Roberts内核。
IMAQ Convolute模块使用一个预定义的低通和高通滤波器集合。每个滤波器由系数的内核定义。IMAQ GetKernel 模块用于提取预定义的内核。如果预定义的内核不能满足需要,可以适用浮点数的LabVIEW二维矩阵定义自己得滤波器。
IMAQ NthOrder 根据选择的N的值,定义一个低通或高通滤波器。一个特定的N序滤波器,中值滤波器,可以滤除看起来像小黑点和白点的斑纹。详见NI视觉概念手册,第五章,图像处理。
在需要滤掉图像的灰度特征是使用灰度几何。灰度几个有助于去掉或加强孤立特征,例如黑色背景上的亮点。在准备进行颗粒分析分割图象之前,在灰度图象上使用这种变换以增强非离散性。
灰度几何变换将一个像素与它周围的像素进行比较。这种变换在进行腐蚀运算时保留最小值,而在进行扩散运算时保留最大值。
详见NI视觉概念手册,第五章,图像处理。
IMAQ GrayMorphology 模块用于实现以下七种变换:
Erosion(侵蚀)―减少被低密度邻居包围的像素的亮度。邻近像素是通过结构化元素定义的。详见NI视觉概念手册,第九章,二值几何。
Dilation(扩散)―增加被高密度邻居包围的像素亮度。一个扩散必然有一个对应的侵蚀效果。
Opening(开放)―去除暗区和光滑边框中的孤立的亮点。
Closing(闭合)―去除亮区和光滑边框中的孤立的暗点。
Proper-opening(适当开放)―去除暗区中的孤立亮点,平滑区域的边缘。
Proper-closing(适当闭合)―去除亮区中孤立的暗点,平滑区域边缘。
Auto-median(自动中值)―产生很少细节的简单颗粒。
快速傅里叶变换
快速傅里叶变换(FFT)用于将图象变换到复频域。一幅图像中,细节和锐利的边沿是与颗粒频率从中到高在很短的距离内明显的导致灰度级别变化有关。缓慢变化的模式与较低的颗粒频率有关。
一幅图像可能有外部噪声,例如数值化过程中导致的周期性条纹。在复频域,周期图案被简化成一个高颗粒频率的有限集合。另外,图象系统设置可能导致视场亮度的不均匀,会在要分析的信息上面产生轻微的漂移。在复频域,这种轻微的漂移表现为图象平均密度旁边的一个低频有限集。成为直流(DC)成分。
利用工作在复频域的算法可以从图象中孤立或去除这些不期望的频率。完成以下步骤,就可以获得去掉不期望的图案么日保留整体特征的图像。
1. 使用IMAQ FFT模块将图像从空域转换到复频域。该模块计算图像的FFT,结果形成了代表图像的频率信息的复数图像。
2. 使用低通或高通频域滤波器在频域改善图像。IMAQ ComplexAttenuate 或 IMAQ ComplexTruncateSpecify 用于指定使用哪种滤波器。低通滤波器平滑图像中的噪声、细节、纹理,以及锐利的边沿。高通滤波器强化图像中的细节、纹理和锐利的边沿,但也强化噪声。
Lowpass attenuation(低通衰减)―衰减量是与频率信息呈正比。在低频段,只有很小的衰减,随着频率的增加,衰减也增加。该运算保留所有零频率的信息。零频率信息对应于图像的直流成份或者说是空域图像的平均密度。
Highpass attenuation(高通衰减)―衰减量与频率信息成反比。高频段,只有很小的衰减,随着频率的降低,衰减增加。 零频率成份被完全剔除。
Lowpass truncation(低通截断)―高于理想截止频率的成份被去除,低于的保持不变。
Highpass truncation(高通截断)―高于理想截止频率的成份保持不变,低于得被去除。
要将图像变换会空余,使用IMAQ InverseFFT模块。
IMAQ ImageToComplexPlane 和 IMAQ ComplexPlaneToImage 模块用于任意访问、处理、以及更新振幅、相位、和复数图像的虚部。也可以通过IMAQ ComplexImageToArray 将复数图像变换为矩阵,或者使用IMAQ ArrayToComplexImage 进行反变换。
了这篇文章
类别:未分类┆阅读(0)┆评论(0)

我要回帖

更多关于 i5 7500能超频吗 的文章

 

随机推荐