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型計算機聯鎖開發中的需求開發管理
計算機聯鎖系統配置軟件設計與實現
主站蜘蛛池模板: 91精品国产一区自在线拍| 国产精品大白天新婚身材| 亚洲人成影视在线观看| 欧美国产在线看| 91免费片| 亚洲国产精品成人久久综合影院| 精品国产污污免费网站| 免费中文字幕在在线不卡| 国产视频只有无码精品| 亚洲美女一区二区三区| 国产玖玖视频| 玖玖免费视频在线观看| 凹凸精品免费精品视频| 中文字幕啪啪| 国产乱视频网站| 99re在线免费视频| 国产丝袜精品| 久久中文无码精品| 动漫精品啪啪一区二区三区| 72种姿势欧美久久久大黄蕉| 亚洲欧美综合精品久久成人网| 中文字幕在线日本| 亚洲日韩每日更新| AV网站中文| 国产成人精品高清不卡在线| 制服丝袜一区二区三区在线| 99一级毛片| 亚洲精品成人福利在线电影| 亚洲中文字幕无码爆乳| 亚洲国产精品一区二区第一页免| 精品视频在线观看你懂的一区| 成人综合网址| 精品久久人人爽人人玩人人妻| 激情爆乳一区二区| 永久免费无码成人网站| 在线播放精品一区二区啪视频| 9久久伊人精品综合| 国产亚洲欧美在线中文bt天堂| 国产XXXX做受性欧美88| 国产激情无码一区二区APP| 尤物亚洲最大AV无码网站| 波多野结衣在线se| 日韩成人午夜| 在线五月婷婷| 国产精品美女免费视频大全| 日韩A∨精品日韩精品无码| 亚洲国产综合自在线另类| 国产视频入口| 色妞www精品视频一级下载| www中文字幕在线观看| 亚洲精品片911| 中文字幕va| 国产乱子伦无码精品小说| 国产91小视频| 国产在线观看一区二区三区| 不卡国产视频第一页| 亚洲精品福利视频| 国产精品网曝门免费视频| 国产精品亚洲αv天堂无码| 亚洲欧美自拍一区| 国产成+人+综合+亚洲欧美| 99国产精品一区二区| 国产亚洲精品精品精品| 青草视频久久| 激情无码视频在线看| 热思思久久免费视频| 亚洲中文制服丝袜欧美精品| 日本国产精品一区久久久| 97久久超碰极品视觉盛宴| 日韩天堂视频| 欧美v在线| 四虎精品国产AV二区| 国产青榴视频| 午夜视频免费一区二区在线看| 欧美日韩精品综合在线一区| 精品国产美女福到在线不卡f| 中文字幕 91| 天堂网国产| 无码一区18禁| 波多野结衣在线se| 91无码人妻精品一区| 97久久人人超碰国产精品|