CN109671059B - 一种基于OpenCV的电池盒图像处理方法及系统 - Google Patents

一种基于OpenCV的电池盒图像处理方法及系统 Download PDF

Info

Publication number
CN109671059B
CN109671059B CN201811485262.6A CN201811485262A CN109671059B CN 109671059 B CN109671059 B CN 109671059B CN 201811485262 A CN201811485262 A CN 201811485262A CN 109671059 B CN109671059 B CN 109671059B
Authority
CN
China
Prior art keywords
image
battery box
camera
calculating
distortion
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
Application number
CN201811485262.6A
Other languages
English (en)
Other versions
CN109671059A (zh
Inventor
陆宝春
许世文
刘仲成
汤旭东
翁朝阳
杨传雷
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nanjing University of Science and Technology
Original Assignee
Nanjing University of Science and Technology
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Nanjing University of Science and Technology filed Critical Nanjing University of Science and Technology
Priority to CN201811485262.6A priority Critical patent/CN109671059B/zh
Publication of CN109671059A publication Critical patent/CN109671059A/zh
Application granted granted Critical
Publication of CN109671059B publication Critical patent/CN109671059B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • G06T7/0004Industrial image inspection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/20Image enhancement or restoration by the use of local operators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/20Image enhancement or restoration by the use of local operators
    • G06T5/30Erosion or dilatation, e.g. thinning
    • G06T5/70
    • G06T5/80
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/13Edge detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/136Segmentation; Edge detection involving thresholding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/80Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20024Filtering details
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30108Industrial image inspection
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02EREDUCTION OF GREENHOUSE GAS [GHG] EMISSIONS, RELATED TO ENERGY GENERATION, TRANSMISSION OR DISTRIBUTION
    • Y02E60/00Enabling technologies; Technologies with a potential or indirect contribution to GHG emissions mitigation
    • Y02E60/10Energy storage using batteries

Abstract

本发明公开了一种基于OpenCV的电池盒图像处理方法及系统,系统包括电机驱动的直线运动平台、工业相机、PC、设置在直线运行平台上的位置传感器;电机控制着直线运动平台的速度,位置传感器触发相机拍照并传送照片信息到PC端;方法包括进行电池盒图像预处理;再采用改进后的基于迭代法选取阈值的canny算子对预处理后的图像进行边缘提取,并进行轮廓重绘,获取图像的轮廓信息;然后进行相机标定和畸变矫正最后计算电池盒的尺寸参数、位置坐标和倾斜角度;本发明可获取电池盒的轮廓尺寸参数、位置坐标和倾斜角度;边缘检测使用改进后的canny算子,具有普遍适用性。

Description

一种基于OpenCV的电池盒图像处理方法及系统
技术领域
本发明属于激光焊接过程中智能焊接和实时图像处理领域,特别是一种基于OpenCV的电池盒图像处理方法及系统。
背景技术
激光焊接一直是近几年研究的热点,传统激光焊接中由于工件都是固定焊接,并且很多还是手动操作机器人或者焊枪进行焊接,工作效率低,焊接精度不够高,对工作人员来说危险性系数也比较高,因此在激光焊接领域采用机器视觉,加入图像处理模块,进行工件智能焊接,对提高工作效率,增加焊接系统自动化程度和智能性具有非常重要的作用,也成为现阶段的研究热点。
为了解决上述焊接问题,现有技术采用的方案主要有两种,一种是用焊缝跟踪的方法,焊枪跟随机器人运动,加入图像传感器,自动识别焊缝,进行焊缝自动跟踪,该方法能够自动焊接,多针对大型零件,缺点是焊枪需要配合机器人的运动,对机器人的运动精度要求很高,成本也较高;另一种方案是采用振镜激光扫描,也是本发明使用的方案,但现阶段成熟的振镜激光扫描系统焊接的是固定工件,效率较低。
发明内容
本发明的目的在于提供一种基于OpenCV的电池盒图像处理方法及系统,用于在激光焊接领域对移动电池盒进行图像处理,获取电池盒的轮廓尺寸参数、位置坐标和倾斜角度,以进行智能焊接。
实现本发明目的的技术解决方案为:
一种基于OpenCV的电池盒图像处理方法,包括以下步骤:
步骤1、搭建电池盒图像处理系统,图像处理系统主要包括电机驱动的直线运动平台、工业相机、PC、设置在直线运行平台上的位置传感器;电机控制着直线运动平台的速度,位置传感器触发相机拍照并传送照片信息到PC端;
步骤2、进行电池盒图像预处理:对工业相机传输到PC端的图像进行预处理,得到图像边缘信息;
步骤3、对图像进行边缘检测,采用改进后的基于迭代法选取阈值的canny算子对预处理后的图像进行边缘提取,并进行轮廓重绘,获取图像的轮廓信息;
步骤4、进行相机标定和畸变矫正,采用张正友标定的方法对相机的内外参数进行标定,计算相机的内外参数,得到相机坐标系与世界坐标系之间的关系,并在图像径向方向上进行畸变矫正,减少图像失真;
步骤5、计算电池盒的尺寸参数、位置坐标和倾斜角度:根据相机的像素个数来计算电池盒的尺寸参数,在一个方向上的轮廓长度等于该边长上的像素个数乘以像素大小;位置坐标由处理后的坐标与世界坐标系进行转化得到;电池盒与相机坐标轴倾斜角度根据相机四个角点坐标来计算。
一种基于OpenCV的电池盒图像处理系统,包括电机、电机驱动的直线运动平台、工业相机、基于PC端的图像处理系统、设置在直线运行平台上的位置固定的传感器;所述图像处理系统包括图像预处理模块、边缘提取模块、相机标定矫正模块、电池盒位姿计算模块;
所述直线运动平台用以固定电池盒并带动电池盒直线运行;所述工业相机设置在电池盒上方;所述传感器与工业相机相连,工业相机和PC相连,当电池盒运动到传感器位置时,传感器检测到电池盒并产生触发信号触发相机拍照,相机对工件进行拍照,传递到图像处理系统;
所述图像预处理模块用以对电池盒图像预处理对工业相机传输到PC端的图像进行预处理,得到图像边缘信息;所述边缘提取模块用以对图像进行边缘检测,采用改进后的基于迭代法选取阈值的canny算子对预处理后的图像进行边缘提取,并进行轮廓重绘,获取图像的轮廓信息;所述相机标定矫正模块用以进行相机标定和畸变矫正,计算相机的内外参数;所述电池盒位姿计算模块用以计算电池盒的尺寸参数、位置坐标和倾斜角度:根据相机的像素个数来计算电池盒的尺寸参数;位置坐标由处理后的坐标与世界坐标系进行转化得到;电池盒与相机坐标轴倾斜角度根据相机四个角点坐标来计算。
本发明与现有技术相比,其显著优点为:
(1)位置传感器的加入,能够对移动工件进行图像处理,应用在焊接领域,即能够对移动工件进行智能焊接,极大的提高工作效率;
(2)使用改进后的canny算子来进行边缘检测,能够自动迭代计算canny算子的高低阈值,减小由人为确定canny算子阈值所造成的误差,具有普遍适用性。
(3)使用张正友标定法进行标定,相比于传统的标定方法,更加简洁有效。
下面结合附图对本发明作进一步详细描述。
附图说明
图1为本发明的处理方法流程图。
图2为电池盒图像处理系统结构图。
图3为电池盒图像预处理流程图。
图4位边缘提取算法流程图。
具体实施方式
为了说明本发明的技术方案及技术目的,下面结合附图及具体实施例对本发明做进一步的介绍。
被检测的电池盒焊接表面为172.3mmx45.9mm的矩形,四周有四个半径为2.9mm的圆角,焊缝在电池盒的外围轮廓边缘,对电池盒的焊缝进行焊接即要求激光在电池盒的外围轮廓运动,故对移动电池盒的焊接,就要获取移动电池盒的外围轮廓轨迹,包括轮廓尺寸,角点的位置坐标,以及电池盒相对于相机坐标轴的偏移角度。
结合图1,本发明的一种基于OpenCV的电池盒图像处理方法,包括以下步骤:
步骤1、搭建电池盒图像处理系统,图像处理系统主要包括电机驱动的直线运动平台、工业相机、PC、设置在直线运行平台上的传感器;电机控制着直线运动平台的速度,位置传感器触发相机拍照并传送照片信息到PC端。
结合图2,为电池盒图像处理系统结构图,电池盒固定在直线运动平台上,运动平台由电机控制,在运动平台上有一位置固定的传感器,电池盒正上方设有工业相机;选用的相机为康耐视,像素为500w,传感器与工业相机相连,工业相机和PC端通过千兆以太网GigE相连,当电池盒在运动平台上运动到离位置传感器一定位置时,位置传感器检测到电池盒并产生触发信号触发相机拍照,相机对工件进行拍照,获取到的图像通过以太网传递到PC端,利用PC端对图像进行预处理。
步骤2、进行电池盒图像预处理:对工业相机传输到PC端的图像进行预处理,进行灰度转换、高斯滤波、膨胀腐蚀,得到更加有效准确的图像边缘信息,方便后续的边缘检测。
结合图3,图示为电池盒图像预处理流程图,首先对得到的图像进行灰度变换,采用高斯滤波的方式对图像进行滤波,去除图像噪声,然后进行膨胀腐蚀,获得更细的轮廓,使后续的边缘检测更加精确。
步骤3、对图像进行边缘检测,采用改进后的基于迭代法选取阈值的canny算子对预处理后的图像进行边缘提取,并进行轮廓重绘,获取图像的轮廓信息。
结合图4,图示为canny算子的原理流程图,采用canny算子对预处理后的图像进行边缘提取,主要步骤为:首先用一阶偏导有限差分计算灰度值的梯度幅值和方向,接着对梯度幅值进行非极大值抑制,最后进行双阈值检测和连接边缘。其中在双阈值检测过程中,现有的方法对高低阈值选取通常是根据人为经验来选取,且不同的图像阈值选取也不同,不具有普遍适用性,同时由于人为的主观性和随机性,会导致边缘定位不准确,改进后的canny算子采用迭代法进行自动阈值分割,具体步骤如下:
3.1、首先计算图像的初始阈值M0
Figure BDA0001894331300000041
式中:k为迭代次数,hmax和hmin分别为一张图像中灰度值的最大最小值;Mk表示图像灰度值;
3.2、用图像灰度值Mk将图像分成两部分区域:
区域H1={h(x,y)≥Mk},H2={h(x,y)<Mk},
其中h(x,y)表示图像内任意一点(x,y)的灰度值
3.3、分别计算区域H1和区域H2灰度均值L1和L2
Figure BDA0001894331300000042
其中h(i,j)为图像中(i,j)点的灰度值,GA、GB分别满足:
Figure BDA0001894331300000043
3.4、重新计算图像的阈值Mk+1
Figure BDA0001894331300000044
3.5、迭代计算:若Mk+1=Mk,则结束,否则令k=k+1,返回步骤3.2,直至满足Mk+1=Mk,,取最终的L1和L2为图像的高低阈值大小。
步骤4、进行相机标定和畸变矫正,采用张正友标定的方法对相机的内外参数进行标定,计算相机的内外参数,得到相机坐标系与世界坐标系之间的关系,并在图像径向方向上进行畸变矫正,减少图像失真。具体步骤为:
4.1、根据张正友标定原理有:
Figure BDA0001894331300000051
其中s为尺度因子,A为相机内参矩阵,R为旋转矩阵,t为平移向量,[u v 1]T为相机坐标系中的坐标,[X Y 1]T为世界坐标系中的坐标。
4.2、令:H=[h1 h2 h3]=λA[r1 r2 t]
其中H为单应性矩阵,每张图像经过哈里斯角点获取都能计算出一个单应性矩阵,λ为s的倒数,定义:
Figure BDA0001894331300000052
hi=[hi1 hi2 hi3]T,i取1,2,3;
vij=[hi1hj1 hi1hj2+hi2hj1 hi2hj2hi3hj1+hi1hj3 hi3hj2+hi2hj3 hi3hj3],j取1,2,3;
4.3、经推导转化为
Figure BDA0001894331300000053
即Vb=0
V矩阵是2*6矩阵,每张照片能建立两个方程组,使用黑白棋盘格作为标定板,使用三张以上的图像就能建立六个方程组,求出内参矩阵A.对于外参矩阵R和t,有:
r1=λA-1h1,r2=λA-1h2,t=λA-1h3,λ=1/||A-1h1||
即可计算出外参矩阵,最后最大似然法对内外参数进行优化,得到优化后的内外参数,从而完成相机的标定。
4.4、对于相机畸变有数学公式对相机畸变进行矫正,只计算径向方向上的桶形失真,数学表达式为:
Figure BDA0001894331300000061
Figure BDA0001894331300000062
其中(u,v)是理想无畸变的像素坐标,
Figure BDA0001894331300000063
是实际畸变后的像素坐标。(u0,v0)代表主点,(x,y)是理想无畸变的连续图像坐标,k1和k2为分别为第一阶、第二阶的畸变参数。推导得:
Figure BDA0001894331300000064
其中令
Figure BDA0001894331300000065
记做:Dk=d
则可得:k=[k1 k2]T=(DTD)-1DTd,计算即可得到畸变系数。
4.5、在得到内外参数和畸变系数后,即可根据步骤1中的坐标方程关系式和步骤4.4中的畸变数学表达式计算出相机坐标系中点对应的世界坐标,后续获得电池盒的尺寸参数、位置坐标和倾斜角度。
步骤5、计算电池盒的尺寸参数、位置坐标和倾斜角度:根据相机的像素个数来计算电池盒的尺寸参数,相机的每一个像素都有固定的大小,在一个方向上的轮廓长度等于该边长上的像素个数乘以像素大小;位置坐标由处理后的坐标与世界坐标系进行转化得到;电池盒与相机坐标轴倾斜角度根据相机四个角点坐标来计算。具体包括以下步骤:
5.1计算电池盒的尺寸参数,相机的每一个像素都有固定的大小,设相机靶面的感光面积为s,单个像素边长为a,靶面上总的像素个数为b,则:
Figure BDA0001894331300000066
设电池盒任一边长上的像素个数为c,则电池盒该边长L=a*c;
5.2、计算电池盒的位置坐标,电池盒的位置坐标根据步骤4中的内外参数和畸变系数计算得到。
5.3、计算电池盒的与世界坐标系的倾斜角度,设电池盒两相邻角点世界坐标分别为(x1,y1)和(x2,y2),则电池盒与世界坐标系倾斜角度为:
Figure BDA0001894331300000071
在完成上述步骤后得到了焊接电池盒的尺寸参数,位置坐标和倾斜角度,然后可计算出激光焊接应走的轨迹,可实现激光轨迹的自动跟随,最终可实现对移动电池盒的焊接。
一种基于OpenCV的电池盒图像处理系统,包括电机、电机驱动的直线运动平台、工业相机、基于PC端的图像处理系统、设置在直线运行平台上的位置固定的传感器;所述图像处理系统包括图像预处理模块、边缘提取模块、相机标定矫正模块、电池盒位姿计算模块;
所述直线运动平台用以固定电池盒并带动电池盒直线运行;所述工业相机设置在电池盒上方;所述传感器与工业相机相连,工业相机和PC相连,当电池盒运动到传感器位置时,传感器检测到电池盒并产生触发信号触发相机拍照,相机对工件进行拍照,传递到图像处理系统;
所述图像预处理模块用以对电池盒图像预处理对工业相机传输到PC端的图像进行预处理,进行灰度转换、高斯滤波、膨胀腐蚀,得到更加有效准确的图像边缘信息,方便后续的边缘检测。
图像处理过程为:首先对得到的图像进行灰度变换,采用高斯滤波的方式对图像进行滤波,去除图像噪声,然后进行膨胀腐蚀,获得更细的轮廓,使后续的边缘检测更加精确。
所述边缘提取模块用以对图像进行边缘检测,采用改进后的基于迭代法选取阈值的canny算子对预处理后的图像进行边缘提取,并进行轮廓重绘,获取图像的轮廓信息。
进一步的,所述边缘提取模块包括图像的初始阈值计算单元、图像区域计算单元、迭代计算单元;
所述初始阈值计算单元,用以计算图像的初始阈值M0,并将图像分成两部分区域,具体过程为:
计算图像的初始阈值M0
Figure BDA0001894331300000072
式中:k为迭代次数,hmax和hmin分别为一张图像中灰度值的最大最小值;Mk表示图像灰度值;
用图像灰度值Mk将图像分成两部分区域:
区域H1={h(x,y)≥Mk},H2={h(x,y)<Mk},
其中h(x,y)表示图像内任意一点(x,y)的灰度值;
所述图像区域计算单元用以计算区域H1和区域H2灰度均值L1和L2
Figure BDA0001894331300000081
其中h(i,j)为图像中(i,j)点的灰度值,GA、GB分别满足:
Figure BDA0001894331300000082
所述迭代计算单元用以计算图像的阈值,并进行迭代计算得到最终的L1和L2为图像的高低阈值大小,具体过程为:
计算图像的阈值Mk+1
Figure BDA0001894331300000083
迭代计算:若Mk+1=Mk,则结束,否则令k=k+1,返回按方法中步骤3中的3.2重新计算,直至满足Mk+1=Mk,,取最终的L1和L2为图像的高低阈值大小。
所述相机标定矫正模块用以进行相机标定和畸变矫正,采用张正友标定的方法对相机的内外参数进行标定,计算相机的内外参数,得到相机坐标系与世界坐标系之间的关系,并在图像径向方向上进行畸变矫正,减少图像失真。具体过程见上述步骤4,此过程不再赘述。
所述电池盒位姿计算模块用以计算电池盒的尺寸参数、位置坐标和倾斜角度:根据相机的像素个数来计算电池盒的尺寸参数,相机的每一个像素都有固定的大小,在一个方向上的轮廓长度等于该边长上的像素个数乘以像素大小;位置坐标由处理后的坐标与世界坐标系进行转化得到;电池盒与相机坐标轴倾斜角度根据相机四个角点坐标来计算。
进一步的,所述电池盒位姿计算模块包括尺寸参数计算单元、位置坐标计算单元、倾斜角度计算单元;
所述尺寸参数计算单元用以计算电池盒的尺寸参数,具体过程为:设相机靶面的感光面积为s,单个像素边长为a,靶面上总的像素个数为b,则:
Figure BDA0001894331300000091
设电池盒任一边长上的像素个数为c,则电池盒该边长L=a*c;
所述位置坐标计算单元用以计算电池盒的位置坐标,电池盒的位置坐标根据相机标定矫正模块的内外参数和畸变系数计算得到。
所述倾斜角度计算单元用以计算电池盒的与世界坐标系的倾斜角度,具体过程为:设电池盒两相邻角点世界坐标分别为(x1,y1)和(x2,y2),则电池盒与世界坐标系倾斜角度为:
Figure BDA0001894331300000092

Claims (6)

1.一种基于OpenCV的电池盒图像处理方法,其特征在于,包括以下步骤:
步骤1、搭建电池盒图像处理系统,图像处理系统主要包括电机驱动的直线运动平台、工业相机、PC、设置在直线运行平台上的位置传感器;电机控制着直线运动平台的速度,位置传感器触发相机拍照并传送照片信息到PC端;
步骤2、进行电池盒图像预处理:对工业相机传输到PC端的图像进行预处理,得到图像边缘信息;
步骤3、对图像进行边缘检测,采用改进后的基于迭代法选取阈值的canny算子对预处理后的图像进行边缘提取,并进行轮廓重绘,获取图像的轮廓信息;具体步骤如下:
步骤3.1、计算图像的初始阈值M0
Figure FDA0003713278910000011
其中k为迭代次数,hmax和hmin分别为一张图像中灰度值的最大最小值;Mk表示图像灰度值;
步骤3.2、用图像灰度值Mk将图像分成两部分区域:
区域H1={h(x,y)≥Mk},H2={h(x,y)<Mk},
其中h(x,y)表示图像内任意一点(x,y)的灰度值;
步骤3.3、分别计算区域H1和区域H2灰度均值L1和L2
Figure FDA0003713278910000012
其中h(i,j)为图像中(i,j)点的灰度值,GA、GB分别满足:
Figure FDA0003713278910000013
步骤3.4、重新计算图像的阈值Mk+1
Figure FDA0003713278910000014
3.5、迭代计算:若Mk+1=Mk,则结束,否则令k=k+1,返回步骤3.2,直至满足Mk+1=Mk,,取最终的L1和L2为图像的高低阈值大小;
步骤4、进行相机标定和畸变矫正,采用张正友标定的方法对相机的内外参数进行标定,计算相机的内外参数,得到相机坐标系与世界坐标系之间的关系,并在图像径向方向上进行畸变矫正,减少图像失真;
进行相机标定和畸变矫正,只计算径向方向上的桶形失真,数学表达式为:
u=u+(u-u0)[k1(x2+y2)+k2(x2+y2)]
Figure FDA0003713278910000021
其中(u,v)是理想无畸变的像素坐标,
Figure FDA0003713278910000022
是实际畸变后的像素坐标;(u0,v0)代表主点,(x,y)是理想无畸变的连续图像坐标,k1和k2为分别为第一阶、第二阶的畸变参数;推导得:
Figure FDA0003713278910000023
其中令
Figure FDA0003713278910000024
记做:Dk=d
则可得:k=[k1 k2]T=(DTD)-1DTd,计算即可得到畸变系数;
步骤5、计算电池盒的尺寸参数、位置坐标和倾斜角度:根据相机的像素个数来计算电池盒的尺寸参数,在一个方向上的轮廓长度等于该边长上的像素个数乘以像素大小;位置坐标由处理后的坐标与世界坐标系进行转化得到;电池盒与相机坐标轴倾斜角度根据相机四个角点坐标来计算。
2.根据权利要求1所述的基于OpenCV的电池盒图像处理方法,其特征在于,采用canny算子对预处理后的图像进行边缘提取,首先用一阶偏导有限差分计算灰度值的梯度幅值和方向,接着对梯度幅值进行非极大值抑制,最后进行双阈值检测和连接边缘;其中在双阈值检测过程中,采用迭代法进行自动阈值分割。
3.根据权利要求1所述的基于OpenCV的电池盒图像处理方法,其特征在于,步骤5计算电池盒的尺寸参数,具体包括以下步骤:
步骤5.1计算电池盒的尺寸参数,相机的每一个像素都有固定的大小,设单个像素边长为a,靶面上总的像素个数为b,则电池盒该边长L=a*c;
步骤5.2、计算电池盒的位置坐标,电池盒的位置坐标根据步骤4中的内外参数和畸变系数计算得到;
步骤5.3、计算电池盒的与世界坐标系的倾斜角度,若电池盒两相邻角点世界坐标分别为(x1,y1)和(x2,y2),则电池盒与世界坐标系倾斜角度为:
Figure FDA0003713278910000031
4.一种基于OpenCV的电池盒图像处理系统,其特征在于,包括电机、电机驱动的直线运动平台、工业相机、基于PC端的图像处理系统、设置在直线运行平台上的位置固定的传感器;所述图像处理系统包括图像预处理模块、边缘提取模块、相机标定矫正模块、电池盒位姿计算模块;
所述直线运动平台用以固定电池盒并带动电池盒直线运行;所述工业相机设置在电池盒上方;所述传感器与工业相机相连,工业相机和PC相连,当电池盒运动到传感器位置时,传感器检测到电池盒并产生触发信号触发相机拍照,相机对工件进行拍照,传递到图像处理系统;
所述图像预处理模块用以对电池盒图像预处理对工业相机传输到PC端的图像进行预处理,得到图像边缘信息;所述边缘提取模块用以对图像进行边缘检测,采用改进后的基于迭代法选取阈值的canny算子对预处理后的图像进行边缘提取,并进行轮廓重绘,获取图像的轮廓信息;所述相机标定矫正模块用以进行相机标定和畸变矫正,计算相机的内外参数;所述电池盒位姿计算模块用以计算电池盒的尺寸参数、位置坐标和倾斜角度:根据相机的像素个数来计算电池盒的尺寸参数;位置坐标由处理后的坐标与世界坐标系进行转化得到;电池盒与相机坐标轴倾斜角度根据相机四个角点坐标来计算;
图像进行边缘检测,具体步骤如下:
计算图像的初始阈值M0
Figure FDA0003713278910000032
其中k为迭代次数,hmax和hmin分别为一张图像中灰度值的最大最小值;Mk表示图像灰度值;
用图像灰度值Mk将图像分成两部分区域:
区域H1={h(x,y)≥Mk},H2={h(x,y)<Mk},
其中h(x,y)表示图像内任意一点(x,y)的灰度值;
分别计算区域H1和区域H2灰度均值L1和L2
Figure FDA0003713278910000041
其中h(i,j)为图像中(i,j)点的灰度值,GA、GB分别满足:
Figure FDA0003713278910000042
重新计算图像的阈值Mk+1
Figure FDA0003713278910000043
迭代计算:若Mk+1=Mk,则结束,否则令k=k+1,返回步骤3.2,直至满足Mk+1=Mk,,取最终的L1和L2为图像的高低阈值大小;
进行相机标定和畸变矫正,只计算径向方向上的桶形失真,数学表达式为:
u=u+(u-u0)[k1(x2+y2)+k2(x2+y2)]
Figure FDA0003713278910000044
其中(u,v)是理想无畸变的像素坐标,
Figure FDA0003713278910000045
是实际畸变后的像素坐标;(u0,v0)代表主点,(x,y)是理想无畸变的连续图像坐标,k1和k2为分别为第一阶、第二阶的畸变参数;推导得:
Figure FDA0003713278910000046
其中令
Figure FDA0003713278910000047
记做:Dk=d
则可得:k=[k1 k2]T=(DTD)-1DTd,计算即可得到畸变系数。
5.根据权利要求4所述的基于OpenCV的电池盒图像处理系统,其特征在于,所述边缘提取模块包括图像的初始阈值计算单元、图像区域计算单元、迭代计算单元;
所述初始阈值计算单元,用以计算图像的初始阈值M0,并将图像分成两部分区域,具体过程为:计算图像的初始阈值M0
Figure FDA0003713278910000051
其中k为迭代次数,hmax和hmin分别为一张图像中灰度值的最大最小值;Mk表示图像灰度值;用图像灰度值Mk将图像分成两部分区域:
区域H1={h(x,y)≥Mk},H2={h(x,y)<Mk};其中h(x,y)表示图像内任意一点(x,y)的灰度值;
所述图像区域计算单元用以计算区域H1和区域H2灰度均值L1和L2
Figure FDA0003713278910000052
其中h(i,j)为图像中(i,j)点的灰度值,GA、GB分别满足:
Figure FDA0003713278910000053
所述迭代计算单元用以计算图像的阈值,并进行迭代计算得到最终的L1和L2为图像的高低阈值大小:
计算图像的阈值Mk+1
Figure FDA0003713278910000054
迭代计算:若Mk+1=Mk,则结束,否则令k=k+1,直至满足Mk+1=Mk,,取最终的L1和L2为图像的高低阈值大小。
6.根据权利要求5所述的基于OpenCV的电池盒图像处理系统,其特征在于,所述电池盒位姿计算模块包括尺寸参数计算单元、位置坐标计算单元、倾斜角度计算单元;
所述尺寸参数计算单元用以计算电池盒的尺寸参数:单个像素边长为a,靶面上总的像素个数为b,电池盒该边长L=a*c;
所述位置坐标计算单元用以计算电池盒的位置坐标:电池盒的位置坐标根据相机标定矫正模块的内外参数和畸变系数计算得到;
所述倾斜角度计算单元用以计算电池盒的与世界坐标系的倾斜角度:设电池盒两相邻角点世界坐标分别为(x1,y1)和(x2,y2),则电池盒与世界坐标系倾斜角度为:
Figure FDA0003713278910000061
CN201811485262.6A 2018-12-06 2018-12-06 一种基于OpenCV的电池盒图像处理方法及系统 Active CN109671059B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811485262.6A CN109671059B (zh) 2018-12-06 2018-12-06 一种基于OpenCV的电池盒图像处理方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811485262.6A CN109671059B (zh) 2018-12-06 2018-12-06 一种基于OpenCV的电池盒图像处理方法及系统

Publications (2)

Publication Number Publication Date
CN109671059A CN109671059A (zh) 2019-04-23
CN109671059B true CN109671059B (zh) 2022-09-06

Family

ID=66143615

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811485262.6A Active CN109671059B (zh) 2018-12-06 2018-12-06 一种基于OpenCV的电池盒图像处理方法及系统

Country Status (1)

Country Link
CN (1) CN109671059B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110533731B (zh) * 2019-08-30 2023-01-17 无锡先导智能装备股份有限公司 相机解析度的标定方法及相机解析度的标定装置
CN113781565B (zh) * 2021-09-15 2023-05-23 湖南视比特机器人有限公司 一种电池更换方法、系统、电子设备及存储介质
CN116433656B (zh) * 2023-06-07 2023-08-25 海斯坦普汽车组件(北京)有限公司 一种新能源电池盒检测方法及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104331896A (zh) * 2014-11-21 2015-02-04 天津工业大学 一种基于深度信息的系统标定方法
CN107578464A (zh) * 2017-06-30 2018-01-12 长沙湘计海盾科技有限公司 一种基于线激光扫描的传送带工件三维轮廓测量方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104331896A (zh) * 2014-11-21 2015-02-04 天津工业大学 一种基于深度信息的系统标定方法
CN107578464A (zh) * 2017-06-30 2018-01-12 长沙湘计海盾科技有限公司 一种基于线激光扫描的传送带工件三维轮廓测量方法

Also Published As

Publication number Publication date
CN109671059A (zh) 2019-04-23

Similar Documents

Publication Publication Date Title
CN107767423B (zh) 一种基于双目视觉的机械臂目标定位抓取方法
CN109671059B (zh) 一种基于OpenCV的电池盒图像处理方法及系统
CN108637435B (zh) 一种基于视觉与弧压传感的三维焊缝跟踪系统及方法
CN112223285B (zh) 一种基于组合测量的机器人手眼标定方法
CN104331896B (zh) 一种基于深度信息的系统标定方法
CN106780623B (zh) 一种机器人视觉系统快速标定方法
CN111721259B (zh) 基于双目视觉的水下机器人回收定位方法
CN104552341B (zh) 移动工业机器人单点多视角挂表位姿误差检测方法
CN112529858A (zh) 一种基于机器视觉的焊缝图像处理方法
CN108907526A (zh) 一种具有高鲁棒性的焊缝图像特征识别方法
CN108344693B (zh) 一种面向自动焊接的薄板焊缝错边量视觉测量方法
Wang et al. A real-time weld line detection for derusting wall-climbing robot using dual cameras
CN111784655B (zh) 一种水下机器人回收定位方法
CN113251926B (zh) 一种不规则物体的尺寸测量方法及测量装置
CN113146172A (zh) 一种基于多视觉的检测与装配系统及方法
CN108154536A (zh) 二维平面迭代的相机标定法
CN112010024A (zh) 一种基于激光和视觉融合检测的货箱自动抓取方法及系统
CN112109072B (zh) 一种大型稀疏特征托盘精确6d位姿测量和抓取方法
CN113822810A (zh) 一种基于机器视觉的三维空间中工件的定位方法
CN114211168A (zh) 一种基于图像相减的平面焊缝轨迹纠偏的方法
CN114654465A (zh) 一种基于线激光结构光视觉传感的焊缝跟踪提取方法
CN112381783B (zh) 一种基于红色线激光的焊缝轨迹提取方法
CN115830018B (zh) 基于深度学习与双目视觉的碳素块检测方法及系统
CN111178296A (zh) 多工件视觉定位和识别方法
CN114932292B (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