发明名称 基于棋盘标定的摄像机映射方法
摘要 本发明公布了一种基于棋盘标定的摄像机映射方法,包括如下步骤:(1)棋盘标定;(2)激光特征提取;(3)计算激光光斑指向的图像位置。本发明对硬件要求不高,需要具有800*600分辨率以上的摄像头,就能够实现。而且准确的定位,能够使计算机精确的理解用户的指向位置。这使得传统的激光在为用户指示位置的同时,能够为计算机提供用户所指向的图像位置。
申请公布号 CN101980299B 申请公布日期 2013.01.02
申请号 CN201010556155.5 申请日期 2010.11.24
申请人 河海大学 发明人 许峰;史团委;徐新坤;姚岚;张雪洁
分类号 G06T7/00(2006.01)I 主分类号 G06T7/00(2006.01)I
代理机构 南京经纬专利商标代理有限公司 32200 代理人 许方
主权项 1.一种基于棋盘标定的摄像机映射方法,包括如下步骤:⑴.棋盘标定,采用棋盘角点检测方法;⑵.激光特征提取,采用动态采样与阈值化方法;⑶.计算激光光斑指向的图像位置,在步骤(2)获得光斑阈值范围后,对整个图像进行扫描,对符合光斑阈值范围的像素点进行提取,同时进行连通域检测,当连通域在标准范围内,则确定为激光光斑,求其连通域的重心,从而获得激光光斑重心,完成激光光斑位置提取,其特征在于,步骤(1)中所述采用棋盘角点检测方法,包括如下步骤:(11).绘制棋盘图像由棋盘标定系统绘制棋盘图像,产生棋盘图形<img file="727841DEST_PATH_IMAGE002.GIF" wi="15" he="18" />-SOURCE,利用下述两公式在棋盘标定系统中创建棋盘图形<img file="2010105561555100001DEST_PATH_IMAGE003.GIF" wi="15" he="18" />-SOURCE,<img file="2010105561555100001DEST_PATH_IMAGE005.GIF" wi="396" he="42" /><img file="2010105561555100001DEST_PATH_IMAGE007.GIF" wi="399" he="42" />其中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;对所有的投影外角点进行计算,从而获取其对应的位置,投影外角点的集合与投影内角点的集合求并集,获得投影角点的集合;依据投影角点与物理角点的对应关系,将投影块与物理块之间进行一一对应,之后建立物理点与投影点之间的映射关系,采用线性变化计算物理点与投影点之间的映射关系;<img file="2010105561555100001DEST_PATH_IMAGE009.GIF" wi="12" he="23" />㈠.建立从物理点向投影点的映射关系: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';b. 作<img file="2010105561555100001DEST_PATH_IMAGE011.GIF" wi="35" he="20" />//<img file="2010105561555100001DEST_PATH_IMAGE013.GIF" wi="32" he="21" />,<img file="769615DEST_PATH_IMAGE011.GIF" wi="35" he="20" />与<img file="2010105561555100001DEST_PATH_IMAGE015.GIF" wi="32" he="20" />相交于<img file="2010105561555100001DEST_PATH_IMAGE017.GIF" wi="18" he="20" />点,求<img file="2010105561555100001DEST_PATH_IMAGE019.GIF" wi="20" he="20" />1=<img file="DEST_PATH_IMAGE021.GIF" wi="71" he="21" />,<img file="858007DEST_PATH_IMAGE019.GIF" wi="20" he="20" />2=<img file="66265DEST_PATH_IMAGE022.GIF" wi="35" he="20" />//<img file="756004DEST_PATH_IMAGE013.GIF" wi="32" he="21" />;c. 确定<img file="450903DEST_PATH_IMAGE024.GIF" wi="18" he="18" />、<img file="530985DEST_PATH_IMAGE026.GIF" wi="18" he="18" />、<img file="605252DEST_PATH_IMAGE028.GIF" wi="20" he="18" />、<img file="146567DEST_PATH_IMAGE030.GIF" wi="18" he="20" />对应的物理角点为<img file="15297DEST_PATH_IMAGE032.GIF" wi="21" he="20" />、<img file="644993DEST_PATH_IMAGE034.GIF" wi="18" he="18" />、<img file="319688DEST_PATH_IMAGE036.GIF" wi="20" he="18" />、<img file="718439DEST_PATH_IMAGE038.GIF" wi="20" he="21" />;d. 求得<img file="20720DEST_PATH_IMAGE040.GIF" wi="36" he="20" />线上的一点<img file="137712DEST_PATH_IMAGE042.GIF" wi="20" he="21" />,使得<img file="288201DEST_PATH_IMAGE044.GIF" wi="111" he="18" />;e. 求得一点<img file="807038DEST_PATH_IMAGE046.GIF" wi="26" he="18" />,使得<img file="14641DEST_PATH_IMAGE048.GIF" wi="117" he="18" />,且<img file="618929DEST_PATH_IMAGE046.GIF" wi="26" he="18" />点在四边形<img file="573110DEST_PATH_IMAGE050.GIF" wi="62" he="18" />内部,<img file="946454DEST_PATH_IMAGE046.GIF" wi="26" he="18" />点即为投影点<img file="DEST_PATH_IMAGE052.GIF" wi="21" he="18" />对应的物理点;至此,完成棋盘标定,获得映射图像;所述步骤(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作为激光光斑的阈值范围。
地址 210098 江苏省南京市西康路1号
您可能感兴趣的专利