CN101980299B - 基于棋盘标定的摄像机映射方法 - Google Patents
基于棋盘标定的摄像机映射方法 Download PDFInfo
- Publication number
- CN101980299B CN101980299B CN 201010556155 CN201010556155A CN101980299B CN 101980299 B CN101980299 B CN 101980299B CN 201010556155 CN201010556155 CN 201010556155 CN 201010556155 A CN201010556155 A CN 201010556155A CN 101980299 B CN101980299 B CN 101980299B
- Authority
- CN
- China
- Prior art keywords
- angle point
- image
- laser
- projection
- chessboard
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 29
- 238000013507 mapping Methods 0.000 title claims abstract description 23
- 238000000605 extraction Methods 0.000 claims abstract description 7
- 238000001514 detection method Methods 0.000 claims description 9
- 239000000284 extract Substances 0.000 claims description 9
- 238000005070 sampling Methods 0.000 claims description 8
- 238000001914 filtration Methods 0.000 claims description 7
- 230000005484 gravity Effects 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 3
- 239000004606 Fillers/Extenders Substances 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 230000006735 deficit Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Images
Landscapes
- Image Processing (AREA)
- Image Analysis (AREA)
Abstract
本发明公布了一种基于棋盘标定的摄像机映射方法,包括如下步骤:(1)棋盘标定;(2)激光特征提取;(3)计算激光光斑指向的图像位置。本发明对硬件要求不高,需要具有800*600分辨率以上的摄像头,就能够实现。而且准确的定位,能够使计算机精确的理解用户的指向位置。这使得传统的激光在为用户指示位置的同时,能够为计算机提供用户所指向的图像位置。
Description
技术领域
本发明涉及一种基于棋盘标定的摄像机映射方法,属于计算机视觉的光斑提取的技术领域。
背景技术
传统摄像机标定的基本方法是,在一定的摄像机模型下,基于特定的实验条件如形状、尺寸已知的参照物,经过对其进行图像处理,利用一系列数学变换和计算方法,求取摄像机模型内部参数和外部参数。另外,由于许多情况下存在经常性调整摄像机的需求,而且设置已知的参照物也不现实,这时就需要一种不依赖参照物的所谓摄像机自标定方法。这种摄像机自标定法是利用了摄像机本身参数之间的约束关系来标定的,与场景和摄像机的运动无关,所以相比较下更为灵活。
传统的摄像机标定方法按照其算法思路可以分成若干类,包括了利用最优化算法的标定方法,利用摄像机变换矩阵的标定方法,进一步考虑变补偿的两步法,双平面方法,改进的张正友标定法以及其他的一些方法等。
发明内容
本发明目的是针对现有技术存在的缺陷提供一种基于棋盘标定的摄像机映射方法。
本发明为实现上述目的,采用如下技术方案:
本发明基于棋盘标定的摄像机映射方法,包括如下步骤:
(1)棋盘标定;
(2)激光特征提取;
(3)计算激光光斑指向的图像位置。
优选地,步骤(1)所述的棋盘标定采用棋盘角点检测方法。
优选地,步骤(2)所述的激光特征提取采用动态采样与阈值化方法。
优选地,步骤(3)所述的计算激光光斑指向的图像位置方法如下:提取图像内符合色域范围的像素点,标注为可能的激光光斑像素点;而后对连通的激光光斑像素点作为一个连通域,求连通域重心坐标为激光光斑的中心点;之后将激光光斑中心点映射为图像位置。
本发明对硬件要求不高,需要具有800*600分辨率以上的摄像头,就能够实现。而且准确的定位,能够使计算机精确的理解用户的指向位置。这使得传统的激光在为用户指示位置的同时,能够为计算机提供用户所指向的图像位置。
附图说明
图1是棋盘标定产生映射图像的流程图;
图2是棋盘标定建议映射的流程图。
图3是动态采样获取激光光斑阈值范围的流程图。
图4是投影外角点扩展算法示意图。
图5是建立从物理点向投影点映射的算法示意图。
图6是建立从投影点向物理点映射的算法示意图。
具体实施方式
本发明基于棋盘标定的摄像机映射方法包括(1)棋盘标定,(2)激光特征提取,(3)计算激光光斑指向的图像位置。
如图1、2所示,棋盘标定所采用的主要算法是棋盘映射算法。其主要步骤如下:
1、绘制棋盘图像
由系统绘制棋盘图像,产生P_SOURCE。
Black表示该像素点的RGB分量均为0,White表示该像素点的RGB分量均为255。利用以上公式可以在系统中创建棋盘图形P_SOURCE。
由于摄像头的分辨率的限制,对于每个物理块的划分过细将会导致摄像头无法准确识别所有投影点。而物理块划分过于粗糙则会增加误差,使得标定误差增加,降低系统识别激光光斑位置的准确率。为了在准确识别与降低误差间达到均衡,本系统在进行了多次试验分析比较厚,最终选用了(单位:像素)作为物理块的尺寸大小。
2、输出棋盘图像
利用OpenCV自带的highgui全屏展现P_SOURCE。并将其通过LVDS接口输出至转接板,将信号转换为VGA后输出至成像仪(光机)显示。
3、摄像头捕捉投影区域
使用OpenCV的库函数控制摄像头对投影区域进行捕捉,从而获得投影图像。
4、图像二值化
由于捕捉到的投影图像存在大量背景区域,而且噪声的存在会对之后的图像处理带来极大不便。因此需要首先对图像进行图像预处理。本方案采用二值化对图像进行处理。
图像二值化的主要作用为消除大部分背景,提高角点检测的准确度。直接对图像进行截断阈值化,会使有较照明梯度的的图像损失部分角点。因此,采用了自适应阈值化,从而得到较为准确的棋盘格。
5、图像滤波
由于图像捕捉时即存在一定量的噪点,在图像二值化后,会在原先的基础上保留甚至新增部分噪点。为使之后的角点检测更为准确,采用了中值滤波的方式对图像再次进行去噪。
6、定位棋盘角点
对滤波后的图像,利用OpenCV中的函数cvFindChessboardCorners()进行棋盘角点定位。如成功,则可获得产生的棋盘图像的内角点,即投影内角点,则转向步骤7。如果失败,则返回步骤5,对图像再次滤波。多次滤波后仍然不能准确定位棋盘角点,则会向用户发出请求,重新标定,即返回步骤2。
7、产生映射图像
由于步骤6产生的角点为投影内角点,为获取全部投影角点,因此需要对角点集合进行扩充。如图4所示,本发明采用线性扩展的方法,由投影内角点计算得出投影外角点。其算法如下
(1) 确定投影外角点C对应的物理外角点Z。
(2) 寻找距离物理外角点Z最近的物理内角点X。沿ZX作线段得物理内角点Y,使得ZX=XY。
(3) 确定物理内角点Y、Z对应的投影内角点A、B。
(4) 寻找点D使得DA=AB。
(5) 确定投影外角点C坐标为D。
线性扩展会存在一定的失真,即部分外角点的判断不够准确。根据实测效果,存在的误差极小,足够满足本系统的精度要求。对所有的投影外角点进行计算,从而获取其对应的位置。投影外角点的集合与投影内角点的集合求并集,即可获得投影角点的集合
如图5所示,依据投影角点与物理角点的对应关系,将投影块与物理块之间进行一一对应。之后在物理点与投影点之间建立映射。由于物理块已经划分的足够小,因此在每个物理块内,本系统采用线性变化计算两者的映射关系。建立从物理点向投影点映射的算法如下:
(1) 获取物理点D,确定其所在的物理块的物理角点,将四个物理角点按左上,右上,左下,右下顺序依次标为A、B、C、E。
(2) 作DF//AC。DF与AB相交于F点。求k1=AF/AB,k2=DF/AC。
(3) 确定A、B、C、E对应的投影角点为X、Y、Z、U。
(4) 求得XY上一点N,使得NX/XY=k1。
(5) 求得一点M,使得MN/XZ=k2,且M点在四边形XYUZ内部。
(6) M即为物理点D对应的投影点
如图6所示,由于摄像头捕捉的图像分辨率有限,不可避免的造成物理块内多个物理点对应投影块内同一个投影点。针对多对一的情况,本方案设计了从投影点想物理点建立映射的算法,算法统从物理点向投影点建立映射算法类似。其算法如下:
(1) 获取投影点D,确定其所在的投影块的投影,将四个投影角点按左上,右上,左下,右下顺序依次标为A、B、C、E。
(2) 作DF//AC。DF与AB相交于F点。求k1=AF/AB,k2=DF/AC。
(3) 确定A、B、C、E对应的物理角点为X、Y、Z、U。
(4) 求得XY上一点N,使得NX/XY=k1。
(5) 求得一点M,使得MN/XZ=k2,且M点在四边形XYUZ内部。
(6) M即为投影点D对应的物理点
由于采用了线性模型,则会造成投影块内部分投影点没有物理块内物理点对应。因此需要对建立映射的过程进行控制。
至此,完成棋盘标定,获得映射图像。
本发明以激光笔的镭射信号模拟输入设备、具有USB接口的摄像头作为图像捕获传感器和LPD光学投影机模拟视频输出设备、个人计算机为计算设备实现基于计算机视觉的光斑位置提取方法。
计算机将图像传输给投影机在屏幕上进行投影,形成投影区域。用户通过激光笔发射激光到投影区域内,本软件对激光光斑进行提取,从而能够确定用户意图指向的图像位置。
棋盘标定的主要目的是在物理点与投影点之间建立映射关系。激光光斑投射在屏幕上,在投影区域内形成光斑。本系统通过检测可以得到光斑在投影图像中的位置,而为确认其在物理图像中的位置,因此需要在投影图像与物理图像之间建立映射关系。
激光特征提取主要采用动态采样,获取激光的特征值,以便确定之后的阈值范围,便于之后对激光光斑的提取。
本方法最关键的技术是棋盘标定及激光光斑特征值的提取。针对此难点,本发明解决方案如下:本软件采用对棋盘标定采用棋盘角点检测技术,对激光特征提取采用了动态采样与阈值化技术。计算激光光斑指向的图像位置,采用棋盘标定,激光特征提取的数据,进行计算后对激光光斑进行提取,之后映射为图像位置。
针对传统的激光光斑特征值提取的不足,采用了改进的激光光斑采样算法其主要目的是确定激光光斑的阈值范围,使得能够较为精准的进行光斑提取,其算法流程图如图3。
在获得光斑阈值范围后,即可对整幅图像进行扫描。对符合光斑阈值范围的像素点进行提取,同时进行连通域检测。如果其连通域在标准范围内(默认设定连通的像素数目范围为5-10),则确定其为激光光斑。对其求连通域的重心,从而获得激光光斑重心,完成激光光斑位置提取。
Claims (1)
1.一种基于棋盘标定的摄像机映射方法,包括如下步骤:
⑴.棋盘标定,采用棋盘角点检测方法;
⑵.激光特征提取,采用动态采样与阈值化方法;
⑶.计算激光光斑指向的图像位置,在步骤(2)获得光斑阈值范围后,对整个图像进行扫描,对符合光斑阈值范围的像素点进行提取,同时进行连通域检测,当连通域在标准范围内,则确定为激光光斑,求其连通域的重心,从而获得激光光斑重心,完成激光光斑位置提取,
其特征在于,步骤(1)中所述采用棋盘角点检测方法,包括如下步骤:
(11).绘制棋盘图像
其中Black表示该像素点的RGB分量均为0,White表示该像素点的RGB分量均为255;
(12).输出棋盘图像
对步骤(11)绘制的棋盘图像,利用OpenCV自带的highgui全屏展现棋盘图形P_SOURCE,并将棋盘图形P_SOURCE信号输出至成像仪显示;
(13).摄像头捕捉投影区域
利用OpenCV的库函数控制摄像头对投影区域进行捕捉,从而获得投影图像;
(14).图像二值化
对步骤(13)获得的投影图像采用二值化进行预处理,用于消除图形中无关的背景区域,提高棋盘角点检测的准确度;
(15).图像滤波
采用中值滤波的方式对投影图像进行去噪;
(16).定位棋盘角点
对步骤(15)的滤波后的投影图像,利用OpenCV中的函数cvFindChessboardCorners()进行棋盘角点定位,当棋盘角点定位成功,则获得产生的棋盘图像的内角点,即投影内角点,则转向下一步骤的(17)步骤,当棋盘角点定位失败,则返回步骤(15);对投影图像再进行滤波,经多次滤波后的投影图像仍不能准确定位棋盘角点,则向用户发出请求,返回步骤(12)重新标定;
(17).产生映射图像
采用线性扩展的方法,由步骤(16)产生的棋盘图像投影内角点计算得出棋盘图像的投影外角点,其具体方法步骤如下:
171.确定棋盘图像投影外角点C对应的物理外角点Z;
172.寻找距离物理外角点Z最近的物理内角点X,沿ZX作线段得物理内角点Y,使得ZX=XY;
173.确定物理内角点Y、Z对应的投影内角点A、B;
174.寻找点D使得DA=AB;
175.确定投影外角点C坐标为D;
对所有的投影外角点进行计算,从而获取其对应的位置,投影外角点的集合与投影内角点的集合求并集,获得投影角点的集合;
依据投影角点与物理角点的对应关系,将投影块与物理块之间进行一一对应,之后建立物理点与投影点之间的映射关系,采用线性变化计算物理点与投影点之间的映射关系;
a. 获取物理点D,确定其所在的物理块的物理角点,将四个物理角点按左上,右上,左下,右下顺序依次标为A、B、C、E;
b. 作DF//AC,DF与AB相交于F点,求k1=AF/AB,k2=DF/AC;
c. 确定A、B、C、E对应的投影角点为X、Y、Z、U;
d. 求得XY上一点N,使得NX/XY=k1;
e. 求得一点M,使得MN/XZ=k2,且M点在四边形XYUZ内部,M即为物理点D对应的投影点;
㈡.采用上述同样的方法,建立从投影点向物理点的映射关系:
a. 获取投影点D',确定其所在的投影块的投影角点,将四个投影角点按左上,右上,左下,右下顺序依次标为A'、B'、C'、E';
至此,完成棋盘标定,获得映射图像;
所述步骤(2)中采用动态采样与阈值化方法提取激光特征,是采用改进的激光光斑采样,以确定激光光斑阈值范围,精准地进行光斑提取,具体包括以下步骤:
(a)向屏幕投射白色图像;
(b)摄像头对投影区域进行捕捉;
(c)得到在无激光光斑时,图像的阈值范围从S_MIN到S_MAX;
(d)用户向屏幕投射激光光斑,此时系统仍保持向屏幕投射白色图像;
(e)摄像头对投影区域进行捕捉;
(f)得到了在有激光光斑时,图像的阈值范围从L_MIN到L_MAX;
(g)重复步骤(d)~(f),捕捉30~60帧图像,将每帧的图像阈值最大值L_MAX均记录下来组成集合{MAX};
(h)取得{MAX}中的最小值MIN;
(i)结合步骤(c)的S_MAX,计算得到激光光斑的阈值范围从LASER_MIN到LASER_MAX,其中LASER_MIN=(L_MAX+2*MIN)/3,LASER_MAX=255;
(j)LASER_MIN至LASER_MAX作为激光光斑的阈值范围。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010556155 CN101980299B (zh) | 2010-11-24 | 2010-11-24 | 基于棋盘标定的摄像机映射方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010556155 CN101980299B (zh) | 2010-11-24 | 2010-11-24 | 基于棋盘标定的摄像机映射方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101980299A CN101980299A (zh) | 2011-02-23 |
CN101980299B true CN101980299B (zh) | 2013-01-02 |
Family
ID=43600800
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201010556155 Expired - Fee Related CN101980299B (zh) | 2010-11-24 | 2010-11-24 | 基于棋盘标定的摄像机映射方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101980299B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103399652B (zh) * | 2013-07-19 | 2017-02-22 | 哈尔滨工程大学 | 一种基于OpenCV摄像头标定的3D输入方法 |
CN105791655A (zh) * | 2014-12-19 | 2016-07-20 | 宁波舜宇光电信息有限公司 | 一种计算摄像模组的镜头畸变的方法 |
CN106022344B (zh) * | 2016-05-24 | 2018-06-12 | 北京仁光科技有限公司 | 一种虚拟棋盘格角点定位方法 |
CN110489027B (zh) * | 2019-07-05 | 2021-07-23 | 深圳市格上格创新科技有限公司 | 手持输入设备及其指示图标的显示位置控制方法和装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101424551A (zh) * | 2008-11-28 | 2009-05-06 | 北京航空航天大学 | 主动视觉非接触式伺服机构参数测量方法及其装置 |
CN101840062A (zh) * | 2009-08-21 | 2010-09-22 | 深圳先进技术研究院 | 交互式投影系统及交互方法 |
-
2010
- 2010-11-24 CN CN 201010556155 patent/CN101980299B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101424551A (zh) * | 2008-11-28 | 2009-05-06 | 北京航空航天大学 | 主动视觉非接触式伺服机构参数测量方法及其装置 |
CN101840062A (zh) * | 2009-08-21 | 2010-09-22 | 深圳先进技术研究院 | 交互式投影系统及交互方法 |
Non-Patent Citations (3)
Title |
---|
王亚丽 等.空间光通信中激光光斑检测与特性分析.《红外与激光工程》.2007,第36卷第167-168页第1.2节. * |
王春阳 等.激光光斑漂移的检测.《应用光学》.2007,第28卷(第2期),全文. * |
蒋珍今 等.基于摄像头测距的数字图像处理方法研究.《弹箭与制导学报》.2009,第29卷(第6期),全文. * |
Also Published As
Publication number | Publication date |
---|---|
CN101980299A (zh) | 2011-02-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109583285B (zh) | 对象识别方法 | |
US8988317B1 (en) | Depth determination for light field images | |
WO2019080229A1 (zh) | 基于机器视觉的棋子定位方法、系统、存储介质及机器人 | |
CN100527165C (zh) | 一种以动态投影为背景的实时目标识别方法 | |
JP7255718B2 (ja) | 情報処理装置、認識支援方法およびコンピュータプログラム | |
US20070106482A1 (en) | Fast imaging system calibration | |
CN110400315A (zh) | 一种缺陷检测方法、装置及系统 | |
US10540784B2 (en) | Calibrating texture cameras using features extracted from depth images | |
CN112272292B (zh) | 投影校正方法、装置和存储介质 | |
CN106576135A (zh) | 一种具有扩展的动态范围上限的图像传感器 | |
WO2021136386A1 (zh) | 数据处理方法、终端和服务器 | |
JP2016151955A (ja) | 画像処理装置、撮像装置、距離計測装置、および画像処理方法 | |
CN101980299B (zh) | 基于棋盘标定的摄像机映射方法 | |
Martinez et al. | Kinect Unleashed: Getting Control over High Resolution Depth Maps. | |
CN104376323B (zh) | 一种确定目标距离的方法及装置 | |
US9204130B2 (en) | Method and system for creating a three dimensional representation of an object | |
CN101729739A (zh) | 一种图像纠偏处理方法 | |
CN106959747B (zh) | 三维人体测量方法及其设备 | |
CN109900358A (zh) | 一种基于图像亮度信息的天空类型识别系统及方法 | |
CN114037758A (zh) | 基于图像的摄像机姿态感知系统 | |
CN113052884A (zh) | 信息处理方法、信息处理装置、存储介质与电子设备 | |
JPH1091790A (ja) | 三次元形状抽出方法及び装置並びに記憶媒体 | |
CN112858331A (zh) | 一种vr屏幕的检测方法及检测系统 | |
US20220036107A1 (en) | Calculation device, information processing method, and storage medium | |
CN109246417A (zh) | 一种基于裸眼立体显示的机器视觉分析系统及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20130102 |