999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于OpenCV的攝像機標定研究*

2018-01-04 03:41:31聶紅梅劉忠艷
微處理機 2017年6期
關鍵詞:計算機

聶紅梅,劉忠艷

基于OpenCV的攝像機標定研究*

聶紅梅,劉忠艷

(黑龍江科技大學,哈爾濱150022)

根據攝像機標定原理,提出了一種基于OpenCV的攝像機標定技術,并且借助于開源計算機視覺庫OpenCV在VS 2008開發平臺下完成標定。通過相關實驗證明了,利用OpenCV開發的攝像機標定程序具有標定結果精確、運算效率高、跨平臺移植性好等優點,可以有效地應用于需要計算機視覺系統的各個領域。

OpenCV視覺庫;攝像機標定;線性攝像機模型

1 引言

人們通常用仿生物學方法來完成對自然界物體的重構,比如用各種成像系統替代人的視覺系統,用計算機替代人的大腦完成三維重構。用兩臺攝像機在不同視點下,同時捕獲圖像信息,通過攝像機標定矩陣進行運算,即可獲得三維空間坐標;將這些三維坐標信息綜合起來,在三維空間中建立物體模型,以此可以便更方便、更準確地對物體進行全方位觀察和操作。OpenCV是英特爾開發的開源計算機視覺庫,它由一系列C和C++函數構成,能實現計算機視覺和圖像處理方面的很多通用算法,包括對象跟蹤、圖像處理、運動分析、模式識別、結構分析、攝像機標定和三維重建等。OpenCV中的攝像機標定模塊為用戶提供了良好的接口,支持Windows、Linux平臺,提高了開發效率,增強了程序的移植性,完全可用在工程的實際開發中。

2 標定原理

2.1 概念定義

圖像坐標系:物體投射到二維平面形成圖像,建立坐標系統,坐標系中某目標點的坐標用(Xu,Yu)表示;

攝像機坐標系:攝像機自身構成一個物體圖像坐標系統,坐標系中某目標點的坐標用(Xc,Yc,Zc)表示;

世界坐標系:對我們生活的三維物質世界建立的坐標系,坐標系中某目標點的坐標用(Xw,Yw,Zw)表示。

2.2線性攝像機模型

在沒有任何的畸變的情況下,假設攝像成像是理想的針孔成像,針孔攝像機模型如圖1所示。圖1中O點為投影中心即為坐標系原點,O1點為光軸與成像平面的交點即為成像平面的中心點。

圖1 針孔攝像機

圖1 中的Q點坐標(Xc,Yc,Zc)是Q點在攝像機坐標系下的坐標。Q點坐標(Xw,Yw,Zw)是Q點在世界坐標系的坐標。q點坐標(Xu,Yu)是q點在圖像上的坐標。圖1中的 為投影中心到圖像平面的距離即焦距。

根據近似三角形原理,得出如下公式:

在現實制作攝像機過程中圖像中心O1不可能完全落在光軸上。設光軸落在平面坐標(X0,Y0)上,因此X0和Y0是O1的偏移量。因此式(1)、(2)變為:

另外在現實制作攝像機的過程中像素傳感器無法加工成正方形,一般都是長方形,因此我們把像素傳感器的長和寬分別定義為x和y。因此有如下公式:

把式(3)和式(5)代入

把式(4)和式(6)代入

把式(7)、式(8)用齊次坐標表示為:

根據式(9)可完成圖像坐標和攝像機坐標之間的轉換。

至此,我們還需要完成攝像機坐標系向世界坐標系的轉換:

式(10)中R是3×3旋轉矩陣,T是3×1的平移矩陣:

式(11),式(12)中的α ,β,γ,Tx, Ty和Tz是攝像機外部參數。

2.3非線性攝像機模型

攝像機為了快速成像必須增加光強,通常的做法是在攝像頭前加入透鏡。加入透鏡雖然解決了快速成像的問題,卻引入了圖像畸變。因此我們需要糾正由于附加鏡頭的引入而引起的畸變。

透鏡引起的畸變有兩種形式:徑向畸變和切向畸變。在成像傳感器平面中,每一個點可以用直角坐標系(x,y)表示;也可用極坐標系(r,t)表示,即矢量表示,其中r是矢量長度,t是矢量水平夾角,中心位于傳感器中心。徑向畸變就是矢量端點沿長度方向,即r方向發生的變化。切向畸變就是矢量端點沿切線方向即t方向發生的角度變化。徑向畸變在r=0時沒有發生畸變,因此我們在此周圍用泰勒級數展開的前幾項來定量描述,即:

對于切向畸變,我們引入了兩個參數p1,p2來描述

因此攝像機標定其實就是測量攝像機的內外參數和

畸變參數。

3 OpenCV標定方法

OpenCV的攝像機標定采用平面棋盤格標定模板。通過自由移動攝像機或模板,在不同的角度抓取多張平面標定模板的圖片,來實現對攝像機的標定。黑白棋盤標定模板采用邊長為20mm,9行13列,共計96個角點的棋盤作為模板。抓取多張不同角度圖片采用最小二乘法進行標定計算。把多張標定圖片放入相同的目錄中,為標定程序讀入做好準備。標定流程如圖2所示。

圖2 標定流程

圖2 中所描述的標定流程如下:

(1)獲取標定圖像目錄文件列表。

(2)通過imread()加載圖像。該函數支持常用的文件格式。

(3)調用 cvFindChessboardCorners()尋找棋盤角點,函數尋找成功返回非0,失敗返回0。函數成功同時返回角點坐標。調用這個函數時,如果這個圖像是彩色圖像必須轉換成灰度圖像,如果圖像本身是灰度圖像則不必進行轉換。

(4)使用 cvCreateMemStorage()和 cvCreateSeq()創建存儲角點坐標序列。

(5)調用cvFindCornerSubPix()進一步得到角點亞像素級坐標值,并使用cvSeqPush保存所得到的亞像素級坐標值到坐標序列中。

(6)將角點亞像素級坐標值和角點在世界坐標系下的坐標值代入cvCalibrateCamera2()中,得到攝像機內外參數值和畸變參數。

(7)釋放函數分配的內存空間,防止內存泄漏。

4 編程實現

程序在WindowsXP下使用VS2008進行編程、調試和測試。由于篇幅限制,變量定義和初始化從略。此處只給出關鍵代碼:

CvSize CBoardSize=cvSize(rCount,cCount);//標定板尺寸

if((srcimage=cvLoadImage(filename,1))==0) //加載圖片

continue;

//加載失敗,繼續加載下一幅圖片

cvCvtColor(srcimage,grayimage,CV_BGR2GRAY);

//把色彩圖像轉換成灰度圖像

CvPoint2D32f*pCorners=(CvPoint2D32f*)(rCount*

cCount*sizeof(CvPoint2D32f));

//存儲檢測到的角點

Int iCount;

//保存檢測到角點數

result=cvFindChessboardCorners(grayimage,CBoardSize,

pCorners,&iCount,CV_CALIB

_CB_ADAPTIVE_THRESH);

//獲取角點

for(int i=0;i<iCount;i++)

{

cvFindCornerSubPix(grayimage,pCorners,iCount,cvSize(11,11),cvSize(-1,-1),cvTermCriteria

(CV_TERMCRIT_EPS+CV_TERMCRIT_ITER,30,0.1));

//精確獲得每一個角點坐標

cvSeqPush(pSeq,pCorners);

//把獲得的坐標保存在序列中

}

cvCalibrateCamera2(pObj,pIP,pPC,iS,pIc,pDn,pRn,pTn,0);

//獲取矯正數據

其中,pObj是角點的世界坐標,pIP是角點的圖像坐標,pPC是不同圖片角點的數目,iS是圖像尺寸,pIc是獲得的攝像機內矩陣,pDn是獲得的攝像機畸變系數,pRn是獲得的攝像機旋轉向量,pTn是獲得的攝像機平移向量。

5 實驗數據

根據上述的標定原理編寫實驗程序,程序結果保存為文本文件。經過多次調試的結果表明,該程序運行穩定、準確,能成功尋找到焦點,標定一組20幅1280×1024像素的圖片,用時1.2s,能夠滿足實際需要。為了驗證數據的準確性,同時也使用了Matlab對這20幅圖片進行標定,以便進行對比。程序標定的攝像機參數和Matlab標定的攝像機參數對比見表1。

表1 攝像機參數對比

在表1中,由于 k3在Matlab中是忽略的參數,這里也沒有給出。

6 結束語

目前在計算機視覺應用領域中較為重要的研究是視覺測量和三維重建,而在這些研究中,都需要確定視覺圖像中的點與現實世界中對應點的幾何位置關系。攝像機標定的目的,就是要建立三維世界坐標與二維圖像坐標之間的一種對應關系。利用OpenCV開發的攝像機標定程序,具有標定結果精確、運算效率高、跨平臺移植性好等優點,可以有效地應用于需要計算機視覺系統參與工作的各個領域。

[1] 程建璞,項輝宇.基于OpenCV的車體覆蓋件視覺測量的攝像機標定[J].機械設計與制造,2010,(11):198-200.Cheng Jianpu,Xiang Huiyu.A Camera Calibration of Vision Measurement of Body Panel Based on OpenCV [J].Mechanical Designand Manufacturing,2010,11:198-200.

[2] 岡薩雷斯,伍茲,埃丁斯,等.數字圖像處理(Matlab版)[M].阮秋琦等,譯.北京:電子工業出版社,2005.Rafael C.Gonzalez,Richard E.Woods,Steven L.Eddins,et al..Digital Image Process(Matlab Vision)[M].Trans.Ruan Qiuqi,etal..Beijing:Electronic Industry Press,2005.

[3] 孫杰,朱世強,賴小波.一種高效的視覺導航攝像機標定方法[J].計算機工程,2010,(21):212-213.Sun Jie,Zhu Shiqiang,Lai Xiaobo.AMethod of Vision Based Navigation Camera and Effective Calibration[J].Computer Engineering,2010,36(21):212-213.

[4] 馬頌德,張正友.計算機視覺一計算理論與算法基礎[M].北京:科學出版社,1998.Ma Songde,Zhang Zhengyou.Computer Vision Algorithms and Theoryof Computation Basis[M].Beijing:Science Press,1998.

[5] 袁金剛,張艷寧,鄭江濱,等.運動捕獲系統中多攝像機布局優化方法[J].微處理機.2009,(3):90-94.Yuan Jingang,Zhang Yanning,Zheng Jiangbin,et al..Multi-camera Layout Optimization Method for Motion CaptureSystem[J].Microprocessors,2009,(3):90-94.

[6] 周敬利,徐欣磊,韓云鋒.基于DSP的網絡攝像機硬件設計和仿真[J].微處理機,2008,(4):151-154.Zhou Jingli,Xu Xinlei,Han Yunfeng.The Designand Simulation of IPCamera Based on DSP[J].Microprocessors,2008,(4):151-154.

[7] 馮亮,謝勁松,李根,等.攝像機標定的原理與方法綜述[J].機械工程師.2016(1):18-20.FengLiang,XieJinsong,LiGen,etal..Reviewof CameraCalibration Principles and Methods[J].Mechanical Engineer,2016(1):18-20.

[8] 江祥奎,紀旭.基于OpenCV和Matlab的攝像機標定系統設計與實現[J].計算機與數字工程,2015(8):1516-1518+1535.Jiang Xiangkui,Ji Xu.Design and Implementation of Camera Calibration System Based on OpenCV and Matlab[J].Computer and Digital Engineering,2015 (8):1516-1518+1535.

Research on Camera Calibration Based on OpenCV

Nie Hongmei,Liu Zhongyan
(Heilongjiang University of Science and Technology,Harbin 150022,China)

According to the principle of camera calibration,it puts forward a calibration technique based on OpenCV camera,and with the help of open-source computer vision library,OpenCV completes the calibration in VS 2008 development platform.The experiment proves that the calibration procedure based on OpenCV camera has the following advantages:high calibration accuracy,high computation efficiency and good cross platform portability,which can be effectively applied in the field of computer vision system.

OpenCV;Camera calibration;Linear camera model

10.3969/j.issn.1002-2279.2017.06.013

B

1002-2279-(2017)06-0058-04

黑龍江省教育廳科學技術研究項目(項目名稱:基于多視幾何的三維數字掃描系統關鍵技術研究,編號:12523051)

聶紅梅(1979-),女,黑龍江省通河縣人,講師,碩士,主研方向:計算機科學與技術。

2017-10-17

猜你喜歡
計算機
計算機操作系統
穿裙子的“計算機”
趣味(數學)(2020年9期)2020-06-09 05:35:08
基于LabVIEW的計算機聯鎖仿真系統
基于計算機自然語言處理的機器翻譯技術應用與簡介
科技傳播(2019年22期)2020-01-14 03:06:34
計算機多媒體技術應用初探
科技傳播(2019年22期)2020-01-14 03:06:30
信息系統審計中計算機審計的應用
消費導刊(2017年20期)2018-01-03 06:26:40
計算機應用軟件開發技術的幾點探討
電子制作(2017年14期)2017-12-18 07:08:10
計算機網絡安全
iLOCK型計算機聯鎖開發中的需求開發管理
計算機聯鎖系統配置軟件設計與實現
主站蜘蛛池模板: 中文字幕无码电影| 亚洲综合第一区| 久操中文在线| 激情无码视频在线看| 日本欧美成人免费| 波多野结衣无码中文字幕在线观看一区二区| 国产凹凸一区在线观看视频| 欧美福利在线播放| 久久久四虎成人永久免费网站| 精品国产一二三区| 在线毛片免费| 精品一区二区三区视频免费观看| 99久久精品国产综合婷婷| 亚洲娇小与黑人巨大交| 99久久精品国产麻豆婷婷| 久久亚洲国产视频| 亚洲无码高清一区| 国产精品思思热在线| 88av在线看| 欧美爱爱网| 国模粉嫩小泬视频在线观看| 亚洲中文字幕在线一区播放| 日韩经典精品无码一区二区| a级毛片免费看| 国产第一页屁屁影院| 亚洲视频二| 国产精品9| 91原创视频在线| 伊人91在线| 综合久久五月天| 伊人查蕉在线观看国产精品| 国产在线精彩视频二区| 国产精品女熟高潮视频| 国产极品粉嫩小泬免费看| 成人免费网站在线观看| 乱人伦99久久| 中文字幕在线日韩91| 中文字幕在线播放不卡| 91成人在线免费观看| 国产在线98福利播放视频免费| 亚洲欧美综合在线观看| 国产精品林美惠子在线观看| 国产第四页| 黄色网址手机国内免费在线观看| 在线综合亚洲欧美网站| 欧美亚洲国产一区| 四虎国产永久在线观看| 日韩欧美中文字幕一本| 国产精品v欧美| 国产原创第一页在线观看| 午夜免费小视频| 免费黄色国产视频| 日本一区二区三区精品视频| 啦啦啦网站在线观看a毛片| 精品国产电影久久九九| 99在线视频免费观看| 欧美日本在线一区二区三区| 久久6免费视频| 国产成人高清精品免费| 国产伦精品一区二区三区视频优播 | 亚洲国产理论片在线播放| 久996视频精品免费观看| 亚洲天天更新| 成人免费视频一区| 在线观看视频99| 97在线免费视频| 国产欧美精品一区aⅴ影院| 四虎影视8848永久精品| 一级看片免费视频| 国产高清在线丝袜精品一区| 国产美女自慰在线观看| 亚洲精品手机在线| 国产精品福利在线观看无码卡| 97久久免费视频| 动漫精品中文字幕无码| 亚洲成人77777| 国产aaaaa一级毛片| 国产日韩丝袜一二三区| 亚洲欧美另类色图| 亚洲美女视频一区| 成人在线亚洲| 亚洲国产精品一区二区第一页免 |