机器视觉之halcon学习——机器视觉工程应用的开发思路.doc_第1页
机器视觉之halcon学习——机器视觉工程应用的开发思路.doc_第2页
机器视觉之halcon学习——机器视觉工程应用的开发思路.doc_第3页
机器视觉之halcon学习——机器视觉工程应用的开发思路.doc_第4页
机器视觉之halcon学习——机器视觉工程应用的开发思路.doc_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

深圳稻草人自动化培训 联为智能教育halcon学习笔记机器视觉工程应用的开发思路机器视觉工程应用主要可划分为硬件和软件两大部分。硬件:工程应用的第一步就是硬件选型。硬件选型很关键,因为它是你后面工作的基础。主要是光源、工业相机和镜头选择。软件:目前业内商业库主要有Halcon,康耐视,DALSA,evision,NI等,开源库有OpenCV.其中NI的labview+vision模块。机器视觉工程应用的基本开发思路是:一、图像采集,二、图像分割,三、形态学处理,四、特征提取,五、输出结果。下面在Halcon下对这四个步骤进行讲解。一、图像采集:Halcon通过imageacquisition interfaces对各种图像采集卡及各种工业相机进行支持。其中包括:模拟视频信号,数字视频信号Camera Link,数字视频信号IEEE 1394,数字视频信号USB2.0,数字视频信号Gigabit Ethernet等。Halcon通过统一的接口封装上述不同相机的image acquisition interfaces,从而达到算子统一化。不同的相机只需更改几个参数就可变更使用。Halcon图像获取的思路:1、打开设备,获得该设备的句柄。2、调用采集算子,获取图像。1、打开设备,获得该设备的句柄。open_framegrabber(DahengCAM, 1, 1, 0, 0, 0, 0, interlaced, 8, gray, -1, false,HV-13xx, 1, 1, -1, AcqHandle) /连接相机,并设置相关参数ParameterValuesDefaultTypeDescriptionNameDahengCAMstringName of the HALCON interface.HorizontalResolution111表示水平全部,2为水平1/2,表示图像截取。VerticalResolution11同上,表示垂直方向。ImageWidth0integer所需的图像部分的宽度(0 代表了完整的图像)。ImageHeight0integer所需的图像部分的高度(0”是完整的图像)StartRow0integer所需的图像部分左上方的像素行坐标StartColumn0integer所需的图像部分左上方的像素列坐标Field忽视BitsPerChannel忽视ColorSpacedefault, gray, rgbgraystringHALCON图像的通道模式Generic忽视ExternalTriggerfalse, truefalsestring外部触发状态CameraTypeHV-13xx, HV-20xx, HV-30xx, HV-31xx,HV-50xx, SV-xxxxHV-13xxstring所连接的摄像机系列型。Device1, 2, 3, .1string相机连接第一个设备号“1”,第二个设备编号“2”。Port忽视LineIn忽视2、调用采集算子,获取图像。grab_image (Image, AcqHandle) /(同步采集)完后处理图像,然后再采集图像。采集图像的速率受处理速度影响。grab_image_async (Image, AcqHandle,MaxDelay) /(异步采集),一幅画面采集完后相机马上采集下一幅画面,不受处理速度影响。其中第三个参数为:MaxDelay,表示异步采集时可以允许的最大延时,本次采集命令距上次采集命令的时间不能超出MaxDelay,超出即重新采集。图像采集其他相关算子: grab_image_start,该算子开始命令相机进行异步采集。只能与grab_image_async(异步采集)一起使用。例子:* Select a suitable image acquisition interface nameAcqNameopen_framegrabber(AcqName,1,1,0,0,0,0,default,-1,default,-1.0, default,default,default,-1,-1,AcqHandle)grab_image(Image1,AcqHandle)/进行同步采集* Start next grabgrab_image_start(AcqHandle,-1.0)/命令相机进行异步图像采集开始* Process Image1 .* Finish asynchronous grab + start next grabgrab_image_async(Image2,AcqHandle,-1.0)/读取异步采集的图像* Process Image2 .close_framegrabber(AcqHandle)3、相机参数读写读取相机参数:info_framegrabber( : :Name,Query:Information,ValueList)写相机参数:set_framegrabber_param( : :AcqHandle,Param,Value: )二、图像分割:图像分割的定义:所谓图像分割是指将图像中具有特殊含义的不同区域分割开来,这些区域是互相不交叉的,每个区域都满足特定区域的一致性。1、基于阈值的图像分割threshold 采用全局阈值分割图像。格式: threshold(Image : Region : MinGray, MaxGray : )自动全局阈值分割的方法:(1)计算灰度直方图(2)寻找出现频率最多的灰度值(最大值)(3)在threshold中使用与最大值有一定距离的值作为阈值代码:gray_histo(Regions, Image,AbsoluteHisto, RelativeHisto) /计算出图像区域内的绝对和相对灰度值直方图。PeakGray := sort_index(AbsoluteHisto)255 /求出出现频率最多的灰度值threshold(Image,Region,0,PeakGray-25)bin_threshold 使用一个自动确定的阈值分割图像。格式: bin_threshold(Image : Region : : )dyn_threshold 使用一个局部阈值分割图像。格式: dyn_threshold(OrigImage, ThresholdImage : RegionDynThresh : Offset, LightDark : )例子:mean_image(Image,Mean,21,21)dyn_threshold(Image,Mean, RegionDynThresh,15,dark)var_threshold 阈值图像局部均值和标准差的分析。格式: var_threshold(Image : Region : MaskWidth, MaskHeight, StdDevScale, AbsThreshold, LightDark : )2、基于边缘的图像分割:寻找区域之间的边界watersheds 从图像中提取分水岭和盆地。格式: watersheds(Image : Basins, Watersheds : : )watersheds_threshold 使用阈值从图像中提取分水岭和盆地。格式: watersheds_threshold(Image : Basins : Threshold : )3、基于区域的图像分割:直接创建区域三、形态学处理形态学处理以集合运算为基础。腐蚀、膨胀、开操作、闭操作是所有形态学图像处理的基础。开操作(先腐蚀再膨胀)使对象的轮廓变得光滑,断开狭窄的间断和消除细的突出物。闭操作(先膨胀再腐蚀)消弥狭窄的间断和长细的鸿沟,消除小的孔洞,填补轮廓线的断裂。形体学基础算子:erosion1dilation1openingclosing常用的形态学相关算子connectionselect_shapeopening_circleclosing_circleopening_rectangle1closing_rectangle1complementdifferenceintersectionunion1shaps_transfill_up形态学高级算子:boundaryskeleton四、特

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论