曹力宁 蔡克新 王起飞
摘要:本文描述了通过对OpenCV的环境配置,实现液晶面板对位MARK标的图像采集、加载和边缘检测等功能,实现了液晶面板切割的精确对位,并给出了具体代码。
关键词:OpenCV;液晶面板;图像处理
中图分类号:TP319 文献标识码:A 文章编号:1007-9416(2018)06-0119-02
液晶面板已经用于人们日常生活的方方面面,液晶面板的尺寸也越来越大。通常,我们所说的液晶面板都是从一块巨大的液晶基板上切割而来的,液晶面板切割精度需达到0.001mm,才能实现面板的精确切割,保证切割的良率。在切割时,需要通过CCD查找液晶基板上的对位MARK标,来实现切割刀轮对液晶面板的精确对位。与此同时,机器视觉和图像处理技术已经广泛应用于工业技术、医学治疗、军事航空等各个领域[1]。由于视频图像处理程序的数据量大,要求实时性等特点,如果开发人员自主开发程序必定耗费大量时间和精力。所以本文通过OpenCV技术 ,实现了对液晶面板上的对位MARK标的精确检测。
1 OpenCV简介
OpenCV(Open Source Computer Vision Library)是Intel 公司面向应用程序开发者开发的计算机视觉库。它简单并且方便,由一系列C函数和少量C++类构成,同时可以跨平台使用,具有很好的兼容性,提供了大量的图像和机器视觉的处理函数,因此极大地方便了图像处理和视频技术的二次开发[2]。在VC环境下进行程序开发,可以大大缩短开发周期,节约开发的成本。本文使用BFLY-PGE-13S2M-CS相机,GIGE-PCIE2-2P02采集板卡,板卡附带的二次开发包(sdk)中提供了用于图像视频采集的函数,实现了精确采集液晶面板上的MARK标,从而达到面板的精确定位,MARK标识别的一般步骤如图1所示。
2 基于OpenCV的液晶面板MARK标识别程序设计
2.1 环境配置
2.2 图像的加载
不同的图像,其内部的结构也不完全相同,所以通过不同的方法将图像中的数据读取到计算机的内存里。OpenCV的API函数cvLoadImage可以将图像数据从文件中加载进来,而且不论加载前图像是什么类型,加载后它返回的都是一个指向IplImage结构体的指针,方便了后续处理。cvLoadImage的函数原型为:IplImage* cvLoadImage(const char*filename,int flags=CV_LOAD_ IMAGE_COLOR);返回值为一个指向IplImage结构体的指针。由于图像数据可以当作一个二维矩阵,所以,相应的边缘处理可以当作是对一个二维矩阵的处理。图像加载程序如下,图像加载结果如图2所示。
2.3 对位MARK标的图像边缘检测
对位MARK标的图像边缘是MARK标上灰度变化最为明显的地方,其包含了大量的原始图像信息。边缘检测利用对位MARK标的这个特点,对图像的像素点进行求微分,从而可以定位边缘的像素点,这些点的灰度值变化比较大,把这些点连接起来,就构成了线条,这些线条就是图像的边缘。对位MARK标的图像边缘检测的基本步骤:
(1)滤波。边缘的检测主要通过一阶导数和二阶导数的计算,但由于可能会受到噪声的影响,所以采用滤波器来降低噪声。
(2)增强。将图像中灰度值有明显变化的点突出显示。这里通过计算梯度幅值来完成。
(3)检测。在对位MARK标的图像显示中,有很多梯度幅值较大点,但并不是我们要找的边缘点,我们通过阈值化的方法来确定和剔除不需要的点。
(4)定位。精确确定边缘的位置。
对位MARK标图像边缘的确定和提取对于整个MARK标的识别和定位是非常重要的。其中,常用的邊缘检测的经典算子有:Sobel算子、Log算子、和Canny算子等。OpenCV提供了cvSobel函数和vCanny函数等进行边缘检测。其中,Canny边缘检测算法的特点如下:1)高准确率;2)定位性好;3)响应性小。基于以上特点,本程序使用Canny 边缘检测算法实现MARK模板的边缘检测。Canny算法步骤如图3所示,图4为MARK模板边缘检测结果。
3 结语
本文论述了基于 OpenCV图像处理算法库对于液晶面板的对位MARK标的图像采集、存储和边缘检测过程。 使用了采集卡自带的二次开发包中的API函数采集和处理了液晶面板的MARK对位标,程序运行可靠,易于维护,图像采集程序已在实际项目中使用。
参考文献
[1]冯伟兴,梁洪,王臣业.Visual C++数字图像模式识别典型案例详解[M].机械工业出版社,2012.
[2]贾小军.基于开源计算机视觉库OpenCV的图像处理[J].计算机应用与软件,2008,25(4)276-278.
Abstract:This paper describes the functions of the image collection, loading and edge detection of the LCD panel against the position of MARK by the configuration of the OpenCV environment, and realizes the precise alignment of the LCD panel cutting, and gives the specific code.
Key words:OpenCV; LCD panel; image processing