(华南师范大学物理与电信工程学院 广东 广州 510006)
基于相机标定的物体轮廓实际大小测量
李晓颖周卫星
(华南师范大学物理与电信工程学院广东广州510006)
利用相机坐标标定相机随意位置拍摄的图片,获得内外参数并矫正图片;用canny边缘检测算子对图像做边缘检测,用轮廓检测获取轮廓的坐标,并按顺序依次连接各轮廓点得到完整的轮廓;计算图片中显示的任意两点的坐标距离与实际大小对比,获得误差。
相机标定;物体轮廓
将图片中的信息按照等比例的放大,得到实际物体的大小和每个物体所在的坐标是工业加工中不可缺少的一部分。得到实际物体大小的方法很多,本文提出的是先对相机做标定,得到相机的内外参,利用内外参矫正发生畸变的图像。然后利用相机坐标与像素坐标之间的等比例关系,如实放大。接着调用canny函数和findcontours函数获得轮廓点和轮廓点顺序。
(一)四大坐标的转换关系
相机摄影是一个从世界坐标到相机坐标到图像物理坐标再到图像像素坐标的过程。
1.世界坐标系转为相机坐标系(刚体变换)
对于空间中任意一点都可以用世界坐标表示为P=[XW,YW,ZW]T,该点在相机中表示为P1=[XC,YC,ZC]T,从世界坐标变换为相机坐标时,需要考虑该点的旋转R矩阵和平移T矩阵。
2.相机坐标系转为图像物理坐标系(透视投影)
图2 相机坐标系转为图像物理坐标系
图3 图像物理坐标系转换为图像像素坐标系
以O点为原点建立相机坐标系,其中在相机坐标系中的P1=[XC,YC,ZC]T被光线投影到图像平面上为P2=[X,Y,f]T,其中图像平面垂直于主光轴z,f为相机的焦距。
3.图像物理坐标系转换为图像像素坐标系
图像物理坐标系转换为图像像素坐标系,只是坐标轴的转移,对应图像像素坐标系上的点为P3=[u,v,1]T。
其中,A为相机内参,[r1 r2 r3]和t为相机外参。
(二)相机标定和图像矫正
1.计算相机内参矩阵
有两种畸变对投影图像影响较大:径向畸变和切向畸变。这两个畸变系数将影响相机的内参计算。
2.计算外参矩阵
3.图片矫正
在拍照的过程中有些图片会出现畸变,相机标定时会产生相机的畸变系数。对于发生畸变的图片需要做矫正处理。首先计算畸变映射,然后将求得的映射重新应用到图片上。完成图片的矫正处理。
(一)canny边缘检测算子检测边缘
1.图像平滑
Canny方法采用二维高斯函数对图像进行平滑,去除图像中多余的噪声:
其中,σ是高斯滤波器参数。σ较小的滤波器定位精度高,但信噪比低;σ较大,则反之。
2.梯度幅值和方向的计算
Canny算子利用一阶微分算子来计算平滑后图像I各点处的梯度幅值和梯度方向,从而获得相应的梯度幅值图像G和梯度方向图像θ。其中,点(i,j)处2个方向的偏导数Gx(i,j)和Gy(i,j)分别为:
Gx(i,j)=[I(i,j+1)-I(i,j)+I(i+1,j+1)-I(i+1,j)]/2
Gy(i,j)=[I(i,j)-I(i+1,j)+I(i,j+1)-I(i+1,j+1)]/2
则点(i,j)处的梯度幅值和梯度方向分别为:
3.非极大值抑制
Canny算子在梯度幅值图像G中以点(i,j)为中心3×3的邻域内沿梯度方向θ(i,j)进行插值,如果点(i,j)处的梯度幅值G(i,j)大于θ(i,j)方向上与其相邻的2个插值,则将点(i,j)标记为候选边缘点,从而得到候选边缘图像。
4.检测和连接边缘
Canny算子采用双阈值法从候选边缘点中检测和连接得到最终的边缘,大于高阈值的部分认为是图像中的边界,低阈值将高阈值丢失的边缘连接起来,使得边缘完整、封闭。小于低阈值部分就认为不是图像中的阈值。
(二)获取物体轮廓
检测出图像边缘后,寻找每个图像边缘所在的轮廓,检测每个边缘的轮廓连续性,将轮廓按等级排列,并将轮廓中的点也按顺序排列。
在之前的图片矫正处理之后,以相机标定时的第一个角点为原点,以绘制角点的途径为X轴和Y轴建立之间坐标系。读取原点所在角点所在棋盘格的对角角点的像素坐标,该点像素坐标减去原点所在角点的像素坐标,并用棋盘格的实际大小除以这两点的像素坐标差值得到新建坐标系的单位长度。
在获取的轮廓坐标中用新建立的世界坐标代替,获得每个点的世界坐标。将每个轮廓点按照存储在累加器里的顺序一个个描绘、连线。
在图像中读取任意点之间的坐标并计算它们之间的距离,与实际的物体大小比较,计算误差。
本文提出的方法完成了相机标定,解决了世界坐标与像素坐标的转换问题,对发生畸变的图片进行矫正,并且获得图像物体轮廓和轮廓点顺序。可以在工厂加工时直接读取轮廓点的顺序,依次对图像轮廓有序移动和加工。
[1]刘振中,傅莉.摄像机标定研究[J].沈阳航空工业学院学报,2010(1):43-47.
[2]贾洪涛,朱元昌.摄像机图像畸变纠正技术[J].电子测量与仪器学报,2006,1(3):46-49.
[3]张宏林.精通Visual C++数字图像处理典型算法及实现[M].北京:人民邮电出版社,2008.
[4]万力,易昂,傅明.一种基于Canny算法的边缘提取改善算法[J].计算机技术与自动化,2003,22(1):24-26.
李晓颖,女,福建泉州人,硕士研究生,主要从事图像处理方面的研究工作;周卫星,教授,主要从事信号处理方面的研究工作。