zoukankan      html  css  js  c++  java
  • Halcon学习笔记——机器视觉应用工程开发思路及相机标定

       机器视觉应用工程开发思路

           机器视觉应用工程主要可划分为两大部分,硬件部分和软件部分。

           1.硬件部分,硬件的选型至关重要,决定了后续工作是否可以正常开展,其中关键硬件部分包括:光源,相机以及镜头。

           2.软件部分,目前业内商业库主要有Halcon,康耐视,DALSA,evision,NI等,开源库有OpenCV.其中NI的labview+vision模块 

           机器视觉应用工程大致开发思路:

          一、获取图像       

          图像采集可以来源多个途径,用算子read_image去读取图像文件;用相机助手,可读取单个或多个相机视频;使用读文件或读取路径(可用tuple实现读取多个图像文件)助手。

          其中,使用相机助手获取相机图像最为常用。

          Halcon通过ImageAcquisition Interfaces对各种图像采集卡及各种工业相机进行支持。其中包括:模拟视频信号,数字视频信号Camera Link,数字视频信号IEEE 1394,数字视频信号USB2.0,数字视频信号Gigabit Ethernet等。 

         Halcon通过统一的接口封装上述不同相机的image acquisition interfaces,从而达到算子统一化。不同的相机只需更改几个参数就可变更使用。

         Halcon图像获取的思路:1、打开设备,获得该设备的句柄。2、调用采集算子,获取图像。

          二、图像颜色空间变换

          颜色的定义,颜色是光作用于人眼引起除形象以外的视觉特性。计算机常用的颜色空间主要有两种,RGB和HSVRGB颜色空间,主要是依据人眼的生理结构,人眼有三类视锥体细胞,分别是红,绿,蓝。而HSV颜色空间,是基于颜色本身的属性,H代表色相,主要由波长决定;S代表纯度,取决于峰值能量与其他频段能量白色光的比例;V代表亮度。H与S属性,常常会混为一谈,是为颜色的色度特性。

          因此,在一副彩色图像中,倘若在RGB颜色空间中无法寻得合适阈值进行分割时,常常可以将RGB颜色空间转换到HSV颜色空间,去观察图像的色相以及饱和度属性。

         三、图像预处理

         图像预处理,即对采集的图像不是很满意,以致于会影响后续图像处理的结果,因此必须对采集的图像进行预处理。图像预处理,并未对图像做出实质性的提取和改变,主要是以滤波、增强对比度等改善图像质量为目的。

         图像预处理,主要包括了四个部分,图像的点运算(即操作直方图),图像的几何变换、图像的增强处理以及图像的正交变换

         图像的点运算,主要用于改变一幅图像的灰度分布范围;图像的几何变换,主要包括图像的平移变换、镜像变换、图像的转置、缩放和旋转等内容;图像的增强处理,主要对图像的噪声过滤以及对比度增强,即平滑、锐化处理;图像的正交变换,主要包括傅里叶变换、哈达玛变换、离散余旋变换以及K-L变换等,将信号从空间域变换到空间频域,以便于更好的处理信号。

          四、区域及轮廓提取(提取ROI)

        区域以及轮廓的提取,即提取ROI,这一步是整个图像处理软件中的核心步骤。就我目前的知识水平大致可分为三个方法:Blob分析,模板匹配以及机器学习识别模式

        Blob分析的基本思想,通过其灰度值的差别来识别图像中前景的像素。Blob分析三兄弟,图像分割,图像形态学处理,特征提取。

        模板匹配,主要包括形状匹配以及灰度值匹配。关键步骤,创建模板;在图像中查找模板。

        机器学习识别,基于多层感知的自我训练,通过监督学习,形成分类器。主要分为四步,创建trf训练文件(绑定字符图像与字符),创建神经分类器,训练分类器,将分类器保存为ocm文件(即可用于识别)。

           五、图像识别及诊断(或要进行相机标定)

  • 相关阅读:
    数据结构:树[data struct: tree]
    关于计算机学科的一些期刊和会议(转)
    这个世界究竟是怎么了
    [思考]怎么在C#中加入新功能
    vsta相关
    Practical numerical methods with C#
    C# (CSharp)中的foreach,for关键词
    代码生成相关
    没有可用于当前位置的源代码 解决办法
    access数据库删除两个日期之间 的数据 SQL语句
  • 原文地址:https://www.cnblogs.com/dzw2017/p/6992832.html
Copyright © 2011-2022 走看看