CN111612765B - 一种圆形透明镜片识别和定位的方法 - Google Patents
一种圆形透明镜片识别和定位的方法 Download PDFInfo
- Publication number
- CN111612765B CN111612765B CN202010433579.6A CN202010433579A CN111612765B CN 111612765 B CN111612765 B CN 111612765B CN 202010433579 A CN202010433579 A CN 202010433579A CN 111612765 B CN111612765 B CN 111612765B
- Authority
- CN
- China
- Prior art keywords
- image
- coordinates
- transparent lens
- camera
- calibration
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/0002—Inspection of images, e.g. flaw detection
- G06T7/0004—Industrial image inspection
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/20—Image enhancement or restoration using local operators
- G06T5/30—Erosion or dilatation, e.g. thinning
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/70—Denoising; Smoothing
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/11—Region-based segmentation
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/13—Edge detection
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/30—Computing systems specially adapted for manufacturing
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Quality & Reliability (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
Abstract
本发明公开了一种圆形透明镜片识别和定位的方法,图像采集步骤,从侧面倾斜角度拍摄镜片,生成图片帧;圆形透明镜片识别定位步骤,包括对图片的预处理以及用改进的canny计算透明镜片的轮廓,求出透明镜片的中心点:首先用寻找轮廓寻找出所有检测到的轮廓,将所有寻找到的轮廓进行遍历,去掉无用轮廓;然后通过一阶矩求二值图像的中心坐标;最后将图像的像素坐标利用标定的参数经过空间的旋转,平移后得到世界坐标系下的坐标;图像像素矫正步骤,用张正友标定法对摄像机进行标定矫正,为像素坐标转换为世界坐标提供标定参数。本发明方法可以精确的识别出透明镜片的轮廓,以及定位到圆形透明镜片的中心点。
Description
技术领域
本发明应用于机器机器视觉领域,应用于透明薄片型物体的机器视觉识别和定位,具体涉及一种圆形透明镜片识别和定位的方法。
背景技术
机器视觉技术因为其非接触、低成本、易实现的优点,已经广泛应用于工业、医学、航空航天、农业等领域,同时随着计算机和图像处理硬件设备性价比的不断提升,它获得了更加深入的研究与应用。通常所识别的目标物体具有较明显的轮廓信息,可以比较容易地进行机器视觉的识别,但对于光学镜片等无色透明的物体,由于其轮廓模糊或三维信息有缺失,在应用机器视觉识别时有一定的难度。本发明即针对这种情况,在对圆形透明镜片物体这种无色透明的轮廓特征进行分析的基础上,提出了一种适用于工业产线的圆形透明镜片图像轮廓特征快速识别以及中心点提取的方法。
发明内容
本方法为了解决现有技术中的圆形透明镜片等透明物体识别不准确,传统的霍夫变换等圆形物体识别算法的高耗时性等问题,而提出了一种圆形透明镜片识别和定位的方法。
本发明的目的,通过以下的技术方案来实现:
本发明提出了一种透明镜片识别和定位的方法,包括:
图像采集步骤,从侧面倾斜角度拍摄镜片,驱动工业摄像头,生成图片帧;
圆形透明镜片识别定位步骤,包括对图片的预处理以及用canny计算透明镜片的轮廓,求出透明镜片的中心点:
首先用寻找轮廓寻找出所有检测到的轮廓,将所有寻找到的轮廓进行遍历;然后通过一阶矩阵求二值图像的中心坐标;最后将图像的像素坐标经过空间的旋转,平移后得到世界坐标系下的坐标;
图像像素矫正步骤,用张正友对摄像机进行标定矫正畸变。
更进一步,圆形透明镜片的预处理步骤包括如下步骤:
(1)用加权平均值法对图片帧进行灰度化处理;
(2)利用中值滤波过滤透明镜片图像的噪声,即选定中心点领域内的点进行排序,之后选定这一排序后的点的中值代替该中心点的像素值,将灰度值进行统计排序并且向真实灰度值靠近;
(3)利用自适应的阈值分割法分割物体的图像和背景;
(4)利用形态学闭运算和开运算完善圆形透明镜片图像信息,形态学开运算后待识别物体去掉周围的噪声或者毛刺信息。
更进一步,加权平均值即在每个颜色通道设置一个加权系数,即Grey=0.299*R+0.587*G+0.114*B。
更进一步,利用自适应的阈值分割法(Otsu)分割物体的图像和背景,即Otsu可以自适应图像背景,设置合理的阈值,经过Otsu算法后得到物体和背景组成的二值图像。
更进一步,圆形透明镜片识别定位步骤,利用canny计算透明镜片的轮廓,求出透明镜片的中心点:
在canny检测到的透明镜片不规则圆形轮廓的基础上,首先用寻找轮廓寻找出所有检测到的轮廓,将所有寻找到的轮廓进行遍历,设置一个轮廓阈值,如果寻找到的其中一个轮廓的二维的点数目小于轮廓阈值,将该轮廓舍弃,如果寻找到的轮廓其中一个轮廓的二维的点数目大于轮廓阈值,那么将该轮廓保留,得到一个接近透明镜片圆形的轮廓,基本的算法如下:
0阶矩的公式如下:
这里的图像为单通道图像,一幅M×N的数字图像,f(i,j)表示图像在(i,j)点上的灰度值,前景用像素值1表示,M00即表示这个二值图像上所有白色区域的总和。
更进一步,圆形透明镜片识别定位步骤:
对应的一阶矩阵为:
当图像为二值图时,f(i,j)只有0代表黑,1代表白两个值;M10就是图像上所以白色区域i坐标值的累加,M01即是白色区域所有j坐标的累加,因此,一阶矩阵可以用来求二值图像的中心坐标(xc,yc)为:
综上,将一阶矩阵的重心应用于改进的canny轮廓识别算法里边,可以得出识别透明镜片的轮廓效果图。
更进一步,圆形透明镜片识别定位步骤,将图像的像素坐标经过空间的旋转,平移后得到世界坐标系下的坐标:
平面像素坐标系中的一个点(x,y)对应的世界空间坐标系中的一个点(X,Y,Z),分别用q和Q表示,空间中点Q和对应图像平面点q来表示为:
q=(xy1)T (1-6)
Q=(XYZ1)T (1-7)
因为是平面棋盘进行标定,将世界坐标中Q设Z=0,将图像的像素坐标经过空间的旋转,平移后得到世界坐标系下的坐标,数学转换公式为:
在表达式(1-8)中,s是为了方便计算,代表齐次方程的尺度因子,A代表相机的内参,[r1r2r3]和t分别代表相机的旋转矩阵和平移矩阵,组成相机的外参。要求的单应性矩阵用H来表示,即H=Α[r1 r2 t],从多个不同的空间拍摄物体,并且可以计算每个空间的平移和旋转,旋转矩阵包括空间旋转的角度信息,同时相机的内部参数也可以得出,该相关参数在图像像素矫正步骤里边可以得出。另外由于Z=0,单应性矩阵就形成了一个3*3的矩阵形式,四组对应点可以形成8个不同的方程,并且有一个共有的齐次方程,那么还可以求出单应性矩阵的所有参数,用matlab封装好的张正友标定法,对应的标定参数在图像像素矫正步骤可得出,最后确定反向投影误差最小的的参数值即为所需要的单应性矩阵,将单应性矩阵对应的空间旋转以及空间平移的参数写入.txt工程文件中,将求出的特征点的像素坐标根据表达式(1-8)可以求出图像平面的像素坐标对应的世界坐标。
本发明的标定实验采用的是张正友标定法进行标定,本次标定实验采用的是黑白格的棋盘进行标定,标定主要提取的是棋盘格的角点信息,即黑格和黑格之间的角点,很多现成的棋盘格图片容易出现角点信息缺失的现象,那么本次实验利用matlab编译环境,编写matlab程序代码,直接生成黑白格的棋盘图片。
图像像素矫正步骤,用张正友对摄像机进行标定,得到标定参数,将图像的像素进行矫正,以及将图像的像素坐标转化为空间的世界坐标:
(1)生成黑白格的棋盘图片:将平行边依次垫高拍摄,然后将整体黑白格的棋盘图片整体抬高拍摄,最后形成多张棋盘格图片存放在calib_example的文件夹中;
(2)首先在摄像头下拍摄n幅不同角度的棋盘图片,存放在calib_example的文件夹中,以便后续的调用,单击相机校准工具窗口中的图像名称按钮,输入图像的的基本名称和格式,将保存好的棋盘表格的图像提取出来;
(3)单击相机校准工具并提取网格的坐标点,并且单击矩形棋盘的4个端角点,图像会出现dx和dy对应的坐标,之后填写格子对应的尺寸,最后软件会自动对图像进行标定,重复以上步骤直到所有图像全部标定完成;最后点击标定工具箱的“calibration”将标定结果存放在matlab数据文件calib_data.mat中,为了立体展示标定效果图,相机标定后转为三维世界坐标的3D图。
为了使得轮廓更加清晰,还包括白色光源照射。
更进一步,图像采集步骤,从侧面倾斜角度拍摄镜片,生成图片帧,将这些图片帧转化为Mat格式的图片。
本发明具有以下有益效果:
(1)本发明针对的是圆形透明镜片物体,透明镜片这种物体为无色透明的物体,用传统的canny算法,识别效果并不好,而且不能定位到透明镜片的圆心。本发明创新性的在canny算法的基础上进行算法改进,从而可以精确的识别出透明镜片的轮廓,以及定位到透明镜片的中心点。
(2)本发明的摄像机标定方式,将图像的像素进行矫正,以及将图像的像素坐标转化为空间的世界坐标,至此,本次摄像机标定模块将图像像素坐标转为世界坐标采用的方法是张正友标定法,具有较高的精度。标定得到的内参、外参和畸变系数等参数,是双目机器视觉进行图片矫正,摄像机校正和3D恢复的基础,本方法采用张正友标定法成功的得到拍摄的图像的像素坐标对应的世界坐标;可以利用应经得到的世界坐标对物体进行精准操作。
(3)本发明针对识别与定位透明镜片圆心的需求,打破传统垂直正面安装摄像头识别圆形物体的方法,将工业摄像头侧面倾斜一定角度安装,发现从侧面安装工业摄像头识别无色透明的透明镜片效果比正面安装要更好,并精确的将像素坐标转化为对应世界坐标系坐标。
综上所述,本发明应用与3D物体识别领域,针对待识别出待识别透明镜片的的轮廓和中心点的需求,创新性的设计透明镜片图像识别与定位方案,将像素坐标转化为世界坐标,并进行误差分析,并且能够找到物体轮廓中心对应的世界坐标点,可以方便后面的机器对透明镜片进行自动化曝光等一系列精准的操作。
附图说明:
图1本发明圆形透明镜片识别定位步骤流程图;
图2改进的canny算法流程图;
图3圆形透明镜片自动化识别和定位整体流程图;
图4侧面安装摄像头整体工图;
图5垂直上方安装摄像头整体工图;
图6侧面安装摄像头实物图;
图7经过canny算法识别透明镜片的轮廓图;
图8经过改进的canny算法识别透明镜片的轮廓与中心点示意图;
图9正上方拍摄圆形透明镜片(直径9mm)识别示意图;
图10侧面拍摄圆形透明镜片(直径9mm)识别示意图;
图11侧面拍摄圆形透明镜片(直径7mm)识别示意图;
图12相机标定后转为三维世界坐标3D图;
图13世界坐标下计算点与实测点分析示意图。
具体实施方式
本发明提出了一种圆形透明镜片识别和定位的方法,包括摄像机驱动模块,物体中心识别定位模块,摄像机标定模块。摄像机驱动模块中,初始化相机,启动相机开始拍摄图片,将控件里边拍摄的图片设置好内存空间,拿出一帧帧图片,之后将拿出的图片转化为Mat格式的图片,之后对图片进行对应的轮廓提取和中心点的提取,最后结束将相机进行释放。物体中心识别定位模块采用的是对物体基本的图像处理,将原始图像转为灰度图,包括滤波,开操作,闭操作,提取二进制阈值,Canny提取轮廓信息,并设计中心点提取算法提取圆形透明镜片的中心。
物体中心识别定位模块中针对的是圆形的透明镜片,装了一个白色的光照射,进行打光,目的是为了突出透明镜片的轮廓形状。
如图3所示,圆形透明镜片自动化识别和定位整体流程图,具体步骤如下:
步骤1:摄像机驱动模块通过编写相机驱动代码,使摄像机拍摄出高清的物体照片,并将拿出的一帧帧图片做后边的图像算法理。
步骤2:将图像转为灰度图,滤波,阈值处理,形态学开闭操作,并针对本文需求,改进canny算法,精准识别与定位到圆形透明镜片的中心点。
步骤3:摄像机标定模块,用张正友对摄像机进行标定,目的是为了将图像的像素进行矫正,以及将图像的像素坐标转化为空间的世界坐标。
下面结合具体实施例详细说明本发明的技术方案,以便本领域技术人员更好理解和实施本发明的技术方案。
实施例1
识别透明镜片创新性的采用从侧面倾斜一定角度的安装方式,所使用的相机是高品质的cmos摄像机,相机采用的是300万的像素,金属外壳,usb连接到pc端即可使用,相机内置32M的内存作为帧缓存,传输更加稳定,镜头采用的是c口的镜头,可以调焦和调节光圈,是的拍摄物体的图像变得清晰。
所使用的待识别物体透明镜片直径为9mm,厚度为2mm,形状为圆形,上下表面透明,周围有磨砂,圆形透明镜片实物图如图6所示。
经过摄像机驱动,圆形透明镜片中心点识别与定位,摄像机标定后,能够找到圆形透明镜片的轮廓以及中心点等信息,并精准定位在世界坐标系中,方便后续机器对透明镜片进行操作。
所使用的单目机器视觉传感器由工业cmos摄像机,工业镜头,补光光源组成。为了更好的找到待处理物体的世界坐标,本发明实验了从侧面安装工业摄像头识别与定位圆形透明镜片的中心点效果图如图7所示,补光光源采用的是白色的光源照射,圆形透明镜片识别与定位侧面安装的结构如图4所示,正面安装的结构如图5所示,经过正面安装与侧面安装工业摄像头的识别透明镜片的效果比较,本发明采用的是侧面安装工业摄像头效果更好,一种圆形透明镜片识别与定位的方法,其包括以下步骤:
图像采集的设置,通过工业摄像机拍摄到的物体照片存放在相机的缓存控件中,利用工业相机JHCap2 SDK开发包可以进行适合自己应用场景的二次开发,一般情况下开发的流程分为开始初始化相机,根据对应的应用场景进行参数配置,之后采集和处理图像,最后结束时释放相机的资源。
(2)工业相机拍摄的照片保存在相机的控件中,那么在相机的采集过程中需要分配好合理的内存空间,并且从控件中将一帧帧图片数据提取出来,因为提取出来的图片数据为工业相机自身保存的图片格式,需要将这些图片转化为opencv能够编译的Mat格式的图片,以便后续对图像进行相应的图像处理。
圆形透明镜片识别定位步骤,透明镜片中心点提取整体流程如图1所示:
(1)加权平均值即在每个颜色通道设置一个加权系数,即Grey=0.299*R+0.587*G+0.114*B,用加权平均值法对该待识别物体进行灰度化处理。
(2)利用中值滤波过滤透明镜片图像的噪声,即选定中心点领域内的点进行排序,之后选定这一排序后的点的中值代替该中心点的像素值,将灰度值进行统计排序并且向真实灰度值靠近。
(3)利用自适应的阈值分割法(Otsu)分割物体的图像和背景,即Otsu可以自适应图像背景,设置合理的阈值,经过Otsu算法后得到物体和背景组成的二值图像。
(4)利用形态学闭运算和开运算完善圆形透明镜片图像信息,即经过形态学闭运算后的可以明显看出待识别物体的内部轮廓信息更加完整,之前内部有缺失的部分经过闭运算后内部已经连通,并且较好的保留了圆形透明镜片的轮廓信息,形态学开运算后待识别物体周围的噪声或者毛刺信息大部分可以去掉。
(5)利用canny计算透明镜片的轮廓,但是针对圆形透明镜片这种物体是无色透明的物体,在透明镜片的表面图像信息会有缺失,用canny计算出的轮廓并不完全符合圆形透明镜片的轮廓,如图7所示,求出透明镜片的中心点,明显canny只能识别物体的大体轮廓,并不能定位到透明镜片的中心点,那么为了符合的需求需要对canny算法进行改进。
本发明改进的方法是:如图7所示,在canny检测到的透明镜片不规则圆形轮廓的基础上,首先用寻找轮廓寻找出所有检测到的轮廓,将所有寻找到的轮廓进行遍历,根据自己的应用场景设置一个轮廓阈值,本发明应用场景设置的阈值为550,即如果寻找到的其中一个轮廓的二维的点数目小于550,将该轮廓舍弃,另外,如果寻找到的轮廓其中一个轮廓的二维的点数目大于550,那么将该轮廓保留,将该轮廓的所有二维点数iter++,那么就可以得到一个接近透明镜片圆形的轮廓,基本的算法流程如图2所示:
0阶矩的公式如下:
这里的图像为单通道图像,一幅M×N的数字图像,f(i,j)表示图像在点(i,j)上的灰度值,前景用像素1表示,M00即表示这个二值图像上所有白色区域的总和。
更进一步,圆形透明镜片识别定位步骤:
对应的一阶矩阵为:
当图像为二值图时,f(i,j)只有0代表黑,1代表白两个值;M10就是图像上所以白色区域i坐标值的累加,M01即是白色区域所有j坐标的累加,因此,一阶矩阵可以用来求二值图像的中心坐标(xc,yc)为:
综上,将一阶矩阵的重心应用于改进的canny轮廓识别算法里边,可以得出识别透明镜片的轮廓效果图如图8所示。
传统的圆形物体识别算法使用最多的一般都是基于霍夫变换求圆形物体的轮廓和圆心,但是对于一些霍夫变换只能检测圆形轮廓和拟合圆形,用霍夫梯度法进行圆形物体检测,它是要拟合出所有可能的圆心坐标C:(xc,yc,r)。
那么图像中每一个非0的部分都作为一个中心圆的候选部分,把累加器的阈值设置偏低,那么所消耗的时间就会比较长,同时在用霍夫圆形变换时,局部梯度用的是sobel倒数来计算,那么随之而来的是对图像每一条局部切线,这样做容易产生噪声。经过实验本发明改进的canny圆形透明镜片识别算法运行时间为毫秒(ms)级别,相比霍夫变换在时间上更有效率,对于一些工业上对时间要求高的圆形识别算法,本发明的方法更合适。
用本发明改良的canny算法,能够精准的识别出侧面拍摄的物体的轮廓,而且还能精准的定位到该物体的圆心,识别效果如图8所示。
本发明针对于透明镜片这种特殊物体(即表面为无色透明),一般识别圆形物体的方式都是把摄像头垂直于物体正上方安装,但是本发明识别的是透明镜片,上下表面是无色透明的,即上下面的图像信息可能缺失,经过试验,垂直于圆形透明镜片安装摄像头经过上面的图像识别算法识别效果如图9所示,从图中可以看出因为透明镜片的上下表面图像信息的缺失,识别效果不稳定,并不能完整的识别出透明镜片的圆形轮廓,针对以上情况,本发明创新性的使用了把工业相机从侧面倾斜安装的方式,因为透明镜片侧面有磨砂,同时侧面拍摄透明镜片的照片可以突出透明镜片的侧面轮廓,从侧面安装摄像头识别透明镜片的轮廓效果如图10所示。
从图中可以看出对透明镜片这种无色透明的物体,创新性的从侧面拍摄透明镜片识别出的物体轮廓信息更好。
平面像素坐标系中的一个(x,y)对应的世界空间坐标系中的一个点(X,Y,Z),分别用q和Q表示,空间中点Q和对应图像平面点q来表示为:
q=(x y 1)T (1-6)
Q=(X Y Z 1)T (1-7)
因为是平面棋盘进行标定,将世界坐标中Q设Z=0,将图像的像素坐标经过空间的旋转,平移后得到世界坐标系下的坐标,数学转换公式为:
在表达式(1-8)中,s是为了方便计算,代表齐次方程的尺度因子,A代表相机的内参,[r1 r2 r3]和t分别代表相机的旋转矩阵和平移矩阵,组成相机的外参。要求的单应性矩阵用H来表示,即H=Α[r1 r2 t],从多个不同的空间拍摄物体,并且可以计算每个空间的平移和旋转,旋转矩阵就包括了空间旋转的角度信息,同时相机的内部参数也可以得出,另外由于Z=0,单应性矩阵就形成了一个3*3的矩阵形式,四组对应点可以形成8个不同的方程,并且有一个共有的齐次方程,那么还可以求出单应性矩阵的所有参数,用matlab封装好的张正友标定法,对应的标定参数在图像像素矫正步骤可得出,最后确定反向投影误差最小的的参数值即为所需要的单应性矩阵,将单应性矩阵对应的相机内参,空间旋转以及空间平移的参数写入.txt工程文件中,将求出的特征点的像素坐标根据表达式(1-8)可以求出图像平面的像素坐标对应的世界坐标。
从图3流程图可以看出,圆形透明镜片识别与定位开始是驱动工业摄像机采集图像照片,后边对该图像进行相应的图像处理,即将图像转为灰度图,滤波,阈值处理,形态学操作,并针对本文需求,改进canny算法,精准识别与定位到圆形透明镜片的中心点,并通过摄像机标定将图像信息转化为三维世界坐标信息,最后通过实验误差分析,做偏差处理,给后边的机械臂进行自动化曝光等相应的工作。
物体中心点信息提取本实验在工业摄像头视野范围内采集了10张不同位置的图片,因为透明镜片的表面是平面,所以预先将透明镜片的Z方向的坐标设置为3(mm),用游标卡尺测量实际点,利用摄像机标定的结果转换为三维世界3D图如图12所示,因此,世界坐标下计算点与实测点分析示意图如图13所示,可以看出计算出的点与实际测量的点基本重合,表明该方案效果良好。
图像像素矫正的设置
(1)本发明的标定实验采用的是张正友标定法进行标定,本次标定实验采用的是黑白格的棋盘进行标定,单个黑格或者白格尺寸(mm)为4*4,标点板的大小为7*9,因为标定版采用的是棋盘版进行标定,标定主要提取的是棋盘格的角点信息,即黑格和黑格之间的角点,很多现成的棋盘格图片容易出现角点信息缺失的现象,那么本次实验利用matlab编译环境,编写matlab程序代码,直接生成黑白格的棋盘图片。
(2)利用棋盘格进行标定实验图中,分别将标定板的上下左右,四个平行边抬高,最好拿一个直线的物体放在下边垫着,将标定板整体抬高,其目的是为了拍摄棋盘格四条边的分别形成角度后的空间位置,以及整体抬高后的空间位置,可以这样依次多拍摄几张棋盘格图片。
(3)首先在摄像头下拍摄5幅不同角度的棋盘图片,存放在calib_example的文件夹中,以便后续的调用,单击相机校准工具窗口中的图像名称按钮,输入图像的的基本名称和格式,将保存好的棋盘表格的图像提取出来。
(4)单击相机校准工具并提取网格的坐标点,并且单击矩形棋盘的4个端角点,图像会出现dx和dy对应的坐标,之后填写好格子对应的尺寸,最后软件会自动对图像进行标定,重复以上步骤直到所有图像全部标定完成。最后单击标定工具箱的“calibration”将标定结果存放在matlab数据文件calib_data.mat中,为了立体展示标定效果图,相机标定后转为三维世界坐标的3D图,如图12所示。
实施例2:
与实施例1唯一的不同的地方在于,本次实施的物体为直径为7mm的透明镜片,以便测试该方法的适用性,具体步骤如下:
(1)将图像转为灰度图,根据灰度数学公式Grey=0.299*R+0.587*G+0.114*B,即原彩色图转为灰度图的数学公式,而且每张图片有R、G、B三种颜色的通道。
(2)将图像进行滤波,即在尽量保留图像细节特征的条件下对目标图像的噪声进行抑制,其处理效果的好坏将直接影响到后续图像处理和分析的有效性和可靠性。
(3)利用自适应的阈值分割法(Otsu)分割物体的图像和背景,即Otsu可以自适应图像背景,设置合理的阈值,经过Otsu算法后得到物体和背景组成的二值图像。
(4)对图像进行开运算用来消除小物体,在纤细点处分离物体、平滑较大物体的边界的同时并不明显改变其面积;同时进行先膨胀后腐蚀的闭运算过程,闭运算能够排除小型黑洞(黑色区域),使图像信息内部连通。
(5)对图像用canny算法计算出梯度幅值,进行非极大值抑制,即让非极大值的图像像素点变为0,得到物体的基本轮廓信息。
(6)扫描整个图像,设立一个合适的阈值,将低于这个阈值的点全部舍去,此时的轮廓为圆形透明镜片的轮廓,最后设计一个一阶矩阵,定位到canny检测的轮廓中心位置,可以得到侧面拍摄透明镜片(直径7mm)轮廓与中心点提取如图11所示。
Claims (6)
1.一种圆形透明镜片识别和定位的方法,其特征在于包括:
图像采集步骤,从侧面倾斜角度拍摄镜片,生成图片帧;
圆形透明镜片识别定位步骤,包括对图片的预处理以及用canny计算透明镜片的轮廓,求出透明镜片的中心点:
首先用寻找轮廓寻找出所有检测到的轮廓,将所有寻找到的轮廓进行遍历;然后通过一阶矩阵求二值图像的中心坐标;最后将图像的像素坐标经过空间的旋转,平移后得到世界坐标系下的坐标;
图像像素矫正步骤,用张正友标定法对摄像机进行标定矫正;
圆形透明镜片识别定位步骤,利用canny计算透明镜片的轮廓,求出透明镜片的中心点:
在canny检测到的透明镜片不规则圆形轮廓的基础上,首先用寻找轮廓寻找出所有检测到的轮廓,将所有寻找到的轮廓进行遍历,设置一个轮廓阈值,如果寻找到的其中一个轮廓的二维的点数目小于轮廓阈值,将该轮廓舍弃,如果寻找到的轮廓其中一个轮廓的二维的点数目大于轮廓阈值,那么将该轮廓保留,得到一个接近透明镜片圆形的轮廓,算法如下:
0阶矩的公式如下:
这里的图像为单通道图像,一幅M×N的数字图像,f(i,j)表示图像在(i,j)点上的灰度值,前景用像素1表示,M00即表示这个二值图像上所有白色区域的总和;
对应的一阶矩阵为:
当图像为二值图时,f(i,j)只有0代表黑,1代表白两个值;M10就是图像上所有白色区域i坐标值的累加,M01即是白色区域所有j坐标的累加,因此,一阶矩阵用来求二值图像的中心坐标(xc,yc)为:
从而识别透明镜片的轮廓效果图;
将图像的像素坐标经过空间的旋转,平移后得到世界坐标系下的坐标:
平面像素坐标系中的一个(x,y)对应的世界空间坐标系中的一个点(X,Y,Z),分别用q和Q表示,空间中点Q和对应图像平面点q来表示为:
q=(x y 1)T (1-6)
Q=(X Y Z 1)T (1-7)
因为是平面棋盘进行标定,将世界坐标中Q设Z=0,将图像的像素坐标经过空间的旋转,平移后得到世界坐标系下的坐标,数学转换公式为:
在表达式(1-8)中,s是为了方便计算,代表齐次方程的尺度因子,A代表相机的内参,[r1r2 r3]和t分别代表相机的旋转矩阵和平移矩阵,组成相机的外参;要求的单应性矩阵用H来表示,即H=Α[r1 r2 t],从多个不同的空间拍摄物体,并且计算每个空间的平移和旋转,旋转矩阵包括空间旋转的角度信息,同时相机的内部参数也得出,另外由于Z=0,单应性矩阵就形成了一个3*3的矩阵形式,四组对应点形成8个不同的方程,并且有一个共有的齐次方程,那么还求出单应性矩阵的所有参数,用matlab相机封装好的张正友标定工具箱进行拟合,最后确定反向投影误差最小的的参数值即为所需要的单应性矩阵,将单应性矩阵对应的内参矩阵,空间旋转以及空间平移的参数写入.txt工程文件中,将求出的特征点的像素坐标根据表达式(1-8)求出图像平面的像素坐标对应的世界坐标;
图像像素矫正步骤,用张正友对摄像机进行标定,将图像的像素进行矫正,以及将图像的像素坐标转化为空间的世界坐标:
(1)生成黑白格的棋盘图片:将平行边依次垫高拍摄,然后将整体黑白格的棋盘图片整体抬高拍摄,最后形成多张棋盘格图片存放在calib_example的文件夹中;
(2)首先在摄像头下拍摄n幅不同角度的棋盘图片,存放在calib_example的文件夹中,以便后续的调用,单击相机校准工具窗口中的图像名称按钮,输入图像的基本名称和格式,将保存好的棋盘表格的图像提取出来;
(3)单击相机校准工具并提取网格的坐标点,并且单击矩形棋盘的4个端角点,图像会出现dx和dy对应的坐标,之后填写格子对应的尺寸,最后软件会自动对图像进行标定,重复以上步骤直到所有图像全部标定完成;最后点击标定工具箱的“calibration”将标定结果存放在matlab数据文件calib_data.mat中,为了立体展示标定效果图,相机标定后转为三维世界坐标的3D图。
2.根据权利要求1所述的透明镜片识别与定位的方法,其特征在于圆形透明镜片的预处理步骤包括如下步骤:
(1)用加权平均值法对图片帧进行灰度化处理;
(2)利用中值滤波过滤透明镜片图像的噪声,即选定中心点领域内的点进行排序,之后选定这一排序后的点的中值代替该中心点的像素值,将灰度值进行统计排序并且向真实灰度值靠近;
(3)利用自适应的阈值分割法分割物体的图像和背景;
(4)利用形态学闭运算和开运算完善圆形透明镜片图像信息,形态学开运算后待识别物体去掉周围的噪声或者毛刺信息。
3.根据权利要求2所述的透明镜片识别与定位的方法,其特征在于:加权平均值即在每个颜色通道设置一个加权系数,即Grey=0.299*R+0.587*G+0.114*B。
4.根据权利要求2所述的透明镜片识别与定位的方法,其特征在于:利用自适应的阈值分割法分割物体的图像和背景,即Otsu自适应图像背景的变换,设置合理的阈值,经过Otsu算法后得到物体和背景组成的二值图像。
5.根据权利要求1所述的透明镜片识别与定位的方法,其特征在于:还包括白色光源照射。
6.根据权利要求1所述的透明镜片识别与定位的方法,其特征在于:图像采集步骤,从侧面倾斜角度拍摄镜片,生成图片帧,将这些图片帧转化为Mat格式的图片。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202010433579.6A CN111612765B (zh) | 2020-05-21 | 2020-05-21 | 一种圆形透明镜片识别和定位的方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202010433579.6A CN111612765B (zh) | 2020-05-21 | 2020-05-21 | 一种圆形透明镜片识别和定位的方法 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN111612765A CN111612765A (zh) | 2020-09-01 |
| CN111612765B true CN111612765B (zh) | 2023-06-16 |
Family
ID=72198779
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202010433579.6A Active CN111612765B (zh) | 2020-05-21 | 2020-05-21 | 一种圆形透明镜片识别和定位的方法 |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN111612765B (zh) |
Families Citing this family (11)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| KR20220114716A (ko) * | 2021-02-09 | 2022-08-17 | 삼성에스디에스 주식회사 | 이미지 클러스터링 방법 및 그 장치 |
| CN112884784B (zh) * | 2021-03-11 | 2024-06-04 | 南通大学 | 一种基于图像的镜片检测与正反面判断方法 |
| CN113064251B (zh) * | 2021-03-24 | 2023-03-14 | 上海晨兴希姆通电子科技有限公司 | 透镜定位方法及其系统 |
| CN113240741B (zh) * | 2021-05-06 | 2023-04-07 | 青岛小鸟看看科技有限公司 | 基于图像差异的透明物体追踪方法、系统 |
| CN113554648B (zh) * | 2021-09-18 | 2021-11-30 | 四川太平洋药业有限责任公司 | 生产线检测方法 |
| CN113989144B (zh) * | 2021-10-26 | 2024-12-17 | 长春精仪光电技术有限公司 | 镜片中心偏差测量设备的镜片中心点提取方法 |
| CN114494060B (zh) * | 2022-01-20 | 2024-02-23 | 齐鲁工业大学 | 一种基于Opencv的菲涅尔透镜中心定位方法 |
| CN114648454B (zh) * | 2022-03-04 | 2024-04-02 | 南京图格医疗科技有限公司 | 一种多传感器相机的图像校正方法及系统 |
| CN115343024B (zh) * | 2022-07-29 | 2025-11-25 | 江西联益光学有限公司 | 一种镜片光学有效径内应力分析方法 |
| CN115661110B (zh) * | 2022-11-08 | 2023-08-01 | 西南交通大学 | 一种透明工件识别与定位的方法 |
| CN117269179B (zh) * | 2023-11-23 | 2024-02-02 | 平方和(北京)科技有限公司 | 基于机器视觉的隐形眼镜边缘缺陷的高精度检测方法和系统 |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN108544494A (zh) * | 2018-05-31 | 2018-09-18 | 珠海市微半导体有限公司 | 一种基于惯性和视觉特征的定位装置、方法及机器人 |
| CN108921858A (zh) * | 2018-06-26 | 2018-11-30 | 中北大学 | 一种自动检测吊耳位置的识别方法 |
-
2020
- 2020-05-21 CN CN202010433579.6A patent/CN111612765B/zh active Active
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN108544494A (zh) * | 2018-05-31 | 2018-09-18 | 珠海市微半导体有限公司 | 一种基于惯性和视觉特征的定位装置、方法及机器人 |
| CN108921858A (zh) * | 2018-06-26 | 2018-11-30 | 中北大学 | 一种自动检测吊耳位置的识别方法 |
Non-Patent Citations (1)
| Title |
|---|
| 张宏建 ; 王金星 ; 孙林林 ; 戚武振 ; 傅生辉 ; 张春庆 ; 刘双喜 ; .任意姿态玉米种子定位方法研究.天津农业科学.2017,(01),第5-10页. * |
Also Published As
| Publication number | Publication date |
|---|---|
| CN111612765A (zh) | 2020-09-01 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN111612765B (zh) | 一种圆形透明镜片识别和定位的方法 | |
| CN111251336B (zh) | 一种基于视觉定位的双臂协同智能装配系统 | |
| CN111738320B (zh) | 基于模板匹配的遮挡工件识别方法 | |
| CN112348890B (zh) | 一种空间定位方法、装置及计算机可读存储介质 | |
| CN117173225B (zh) | 一种用于复杂pcb的高精度配准方法 | |
| JP5342413B2 (ja) | 画像処理方法 | |
| CN111784655A (zh) | 一种水下机器人回收定位方法 | |
| CN117078666B (zh) | 二维和三维结合的缺陷检测方法、装置、介质和设备 | |
| CN114119695B (zh) | 一种图像标注方法、装置及电子设备 | |
| CN107680039B (zh) | 一种基于白光扫描仪的点云拼接方法及系统 | |
| CN113516702A (zh) | 自动配液安瓿瓶液位检测方法、系统及药液占比检测方法 | |
| CN113313116A (zh) | 一种基于视觉的水下人工目标准确检测与定位方法 | |
| CN117351314A (zh) | 一种玻璃瓶缺陷识别方法及系统 | |
| CN107680035B (zh) | 一种参数标定方法和装置、服务器及可读存储介质 | |
| CN105701809A (zh) | 一种基于线阵相机扫描的平场校正方法 | |
| CN119693823A (zh) | 基于视觉大模型的全场景地物分割的处理方法及系统 | |
| CN114943775A (zh) | 图像全局自动标定方法、装置及相关设备 | |
| CN116908185B (zh) | 物品的外观缺陷检测方法、装置、电子设备及存储介质 | |
| CN111145254A (zh) | 一种基于双目视觉的门阀毛坯定位方法 | |
| CN101666621A (zh) | 一种与光照无关的标记点提取方法 | |
| CN116994303B (zh) | 一种双目左右图对齐校正进行活体检测的方法 | |
| CN114882122B (zh) | 图像局部自动标定方法、装置及相关设备 | |
| CN115841668A (zh) | 一种双目视觉苹果识别以及精准定位的方法 | |
| CN115307865A (zh) | 一种面向高温高超声速流场的模型变形测量方法 | |
| CN109059867B (zh) | 手表外壳工件的正反姿态判断的单目机器视觉方法 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PB01 | Publication | ||
| PB01 | Publication | ||
| SE01 | Entry into force of request for substantive examination | ||
| SE01 | Entry into force of request for substantive examination | ||
| GR01 | Patent grant | ||
| GR01 | Patent grant |