女人夜夜春高潮爽A∨片传媒_国产精品VIDEOS麻豆_在线精品亚洲一区二区三区_亚洲熟妇无码av

視覺部件相關
新聞詳情

工業相機內、外參數的認識

發布時間:2022-04-26 14:28:25 瀏覽次數(shu):2699

1、相(xiang)(xiang)機內參(can)數是與相(xiang)(xiang)機自身特性相(xiang)(xiang)關的(de)參(can)數,比如相(xiang)(xiang)機的(de)焦距、像素大小(xiao)等;

相機(ji)外參數是在世界坐標系中的參數,比如(ru)相機(ji)的位置、旋轉(zhuan)方(fang)向(xiang)等。

 

相機標定(或攝像機標定):

 

一句話就是世界坐標到像素坐標的映射,當然這個世界坐標是我們人為去定義的,標定就是已知標定控制點的世界坐標和像素坐標我們去解算這個映射關系,一旦這個關系解算出來了我們就可以由點的像素坐標去反推它的世界坐標,當然有了這個世界坐標,我們就可以進行測量等其他后續操作了~上述標定又被稱作隱參數標定,因為它沒有單獨求出相機的內部參數,如相機焦慮,相機畸變系數等~一般來說如果你僅僅只是利用相機標定來進行一些比較簡單的視覺測量的話,那么就沒有必要單獨標定出相機的內部參數了~至于相機內部參數如何解算,相關論文講的很多~

在(zai)圖(tu)像(xiang)測量過(guo)(guo)程以及機(ji)(ji)器視覺應(ying)用中,為確定(ding)空間物體表面某點的(de)三維幾何(he)位置(zhi)與(yu)其在(zai)圖(tu)像(xiang)中對應(ying)點之間的(de)相(xiang)(xiang)(xiang)互關系,必須建立相(xiang)(xiang)(xiang)機(ji)(ji)成像(xiang)的(de)幾何(he)模型(xing),這些幾何(he)模型(xing)參數(shu)就是相(xiang)(xiang)(xiang)機(ji)(ji)參數(shu)。在(zai)大多數(shu)條件(jian)下(xia)這些參數(shu)必須通過(guo)(guo)實(shi)驗與(yu)計算才(cai)能得到,這個(ge)求解參數(shu)的(de)過(guo)(guo)程就稱(cheng)之為相(xiang)(xiang)(xiang)機(ji)(ji)標(biao)定(ding)(或攝像(xiang)機(ji)(ji)標(biao)定(ding))

 

相機標定的目的是確定相機的一些參數的值。通常,這些參數可以建立定標板確定的三維坐標系和相機圖像坐標系的映射關系,換句話說,你可以用這些參數把一個三維空間中的點映射到圖像空間,或者反過來。

相機需要標定的參數通常分為內參和外參兩部分。外參確定了相機在某個三維空間中的位置和朝向,至于內參,可以說是相機內部的參數(這好像是廢話...笑),我覺得需要引入一點光學的東西來更好地解釋一下。現有的相機都至少包含一個光學鏡頭和一個光電傳感器(CCD或CMOS)。

通(tong)過鏡頭(tou),一個(ge)三維空間(jian)中的(de)(de)物體經常會(hui)被映(ying)射成(cheng)一個(ge)倒立縮小的(de)(de)像(當然(ran)顯微鏡是(shi)放大的(de)(de),不過常用的(de)(de)相機都(dou)是(shi)縮小的(de)(de)),被傳感(gan)(gan)器感(gan)(gan)知到(dao)。

 

· 

理(li)想情(qing)況下,鏡頭(tou)的(de)光軸(zhou)(就是通過(guo)鏡頭(tou)中(zhong)心垂(chui)直于(yu)傳感器平(ping)面(mian)的(de)直線)應(ying)該是穿過(guo)圖像的(de)正中(zhong)間的(de),但(dan)是,實(shi)際(ji)由于(yu)安(an)裝精度的(de)問(wen)題,總是存在誤差(cha),這(zhe)種誤差(cha)需要用內參來描述(shu);

· 

理想情況(kuang)下,相(xiang)機對x方(fang)(fang)(fang)向(xiang)和y方(fang)(fang)(fang)向(xiang)的(de)(de)(de)(de)尺(chi)(chi)寸的(de)(de)(de)(de)縮小(xiao)比例(li)是(shi)(shi)一(yi)(yi)樣(yang)的(de)(de)(de)(de),但(dan)實際(ji)上,鏡頭(tou)如果不是(shi)(shi)完美的(de)(de)(de)(de)圓,傳感(gan)器上的(de)(de)(de)(de)像素如果不是(shi)(shi)完美的(de)(de)(de)(de)緊密排列的(de)(de)(de)(de)正方(fang)(fang)(fang)形,都可能會導(dao)致(zhi)這(zhe)兩(liang)(liang)個方(fang)(fang)(fang)向(xiang)的(de)(de)(de)(de)縮小(xiao)比例(li)不一(yi)(yi)致(zhi)。內參中(zhong)包含兩(liang)(liang)個參數可以(yi)(yi)描述這(zhe)兩(liang)(liang)個方(fang)(fang)(fang)向(xiang)的(de)(de)(de)(de)縮放(fang)比例(li),不僅可以(yi)(yi)將用(yong)像素數量(liang)(liang)來(lai)衡量(liang)(liang)的(de)(de)(de)(de)長度轉(zhuan)換(huan)成三(san)維(wei)空(kong)間(jian)中(zhong)的(de)(de)(de)(de)用(yong)其它單位(比如米)來(lai)衡量(liang)(liang)的(de)(de)(de)(de)長度,也可以(yi)(yi)表示在x和y方(fang)(fang)(fang)向(xiang)的(de)(de)(de)(de)尺(chi)(chi)度變換(huan)的(de)(de)(de)(de)不一(yi)(yi)致(zhi)性;

· 

理想情況(kuang)下(xia),鏡(jing)頭會將一個(ge)三維空(kong)間中(zhong)的(de)直(zhi)線也映射(she)成直(zhi)線(即射(she)影變換),但實(shi)際(ji)上,鏡(jing)頭無法(fa)這么完美,通過鏡(jing)頭映射(she)之(zhi)后,直(zhi)線會變彎,所以需(xu)要相(xiang)機的(de)畸(ji)變參數來描述這種變形效果。

· 

1).外參數矩陣。告訴你現實世界點(世界坐標)是怎樣經過旋轉和平移,然后落到另一個現實世界點(攝像機坐標)上。

2).內參數矩陣。告訴你上述那個點在1的基礎上,是如何繼續經過攝像機的鏡頭、并通過針孔成像和電子轉化而成為像素點的。

3).畸變矩(ju)陣。告訴你為什(shen)么上(shang)面那個像素(su)點并沒有落在理(li)論計算該落在的位置上(shang),還tm產生了(le)一定(ding)的偏移和變形!!!

 

2、攝像機內參、外參矩陣

 

在opencv的3D重(zhong)建中(zhong)(opencv中(zhong)文網站中(zhong):照相機(ji)定(ding)標與三維場景重(zhong)建),對攝像機(ji)的內參外(wai)參有講(jiang)解: 


外(wai)參:攝像(xiang)機(ji)的(de)旋轉平移屬于外(wai)參,用(yong)于描述相機(ji)在靜態場景(jing)下相機(ji)的(de)運(yun)動(dong),或者在相機(ji)固定(ding)時,運(yun)動(dong)物體(ti)的(de)剛性運(yun)動(dong)。因此,在圖像(xiang)拼接或者三(san)維重建中,就(jiu)需要(yao)使用(yong)外(wai)參來求幾幅圖像(xiang)之(zhi)間的(de)相對運(yun)動(dong),從而將其注冊到同一(yi)個(ge)坐(zuo)標系下面來 


內參:下面給出了內參矩陣,需要注意的是,真實的鏡頭還會有徑向和切向畸變,而這些畸變是屬于相機的內參的。 
攝像機內參矩陣:

 

其中,fx,fy為(wei)(wei)焦距,一般情況下,二者相等,x0、y0為(wei)(wei)主點(dian)坐標(相對(dui)于(yu)成像平面),s為(wei)(wei)坐標軸傾斜參數,理想情況下為(wei)(wei)0

攝像機外參矩陣:包括旋轉矩陣和平移矩陣 
旋轉(zhuan)矩(ju)陣和平(ping)移矩(ju)陣共同描述了如何把點(dian)從(cong)世(shi)界(jie)坐標系轉(zhuan)換到攝像(xiang)機坐標系

旋轉矩陣:描述了世界坐標系的坐標軸相對于攝像機坐標軸的方向 
平移矩陣:描述了在(zai)攝像機坐標系下(xia),空(kong)間(jian)原點的位(wei)置

 

例:

<leftCameraMatrix type_id="opencv-matrix">
  <rows>3</rows><cols>3</cols><dt>d</dt>
  <data>
    7.3582167224957209e+002         &nbsp;        0.                 &nbsp;               1.5950000000000000e+002

                           0.                      7.3582167224957209e+002     &nbsp;1.1950000000000000e+002

                        &nbsp;  0.                                      0.                                     &nbsp;            1.

</data></leftCameraMatrix>

 

二、 一些疑問

 

Q1:標定時棋盤格的大小如何設定,對(dui)最(zui)后結果(guo)有沒有影響(xiang)?

A:當然有。在標定時(shi),需要指定一個(ge)棋(qi)盤(pan)方(fang)格(ge)的(de)(de)長度,這(zhe)個(ge)長度(一般以毫(hao)米為單位,如果(guo)需要更精(jing)確(que)可以設(she)為0.1毫(hao)米量級)與實際(ji)長度相(xiang)(xiang)同,標定得出的(de)(de)結果(guo)才能(neng)用于(yu)實際(ji)距(ju)離測量。一般如果(guo)尺寸設(she)定準確(que)的(de)(de)話(hua),通過(guo)立(li)體標定得出的(de)(de)Translation的(de)(de)向(xiang)量的(de)(de)第(di)一個(ge)分量Tx的(de)(de)絕(jue)對值就是左右攝像頭的(de)(de)中心距(ju)。一般可以用這(zhe)個(ge)來驗證立(li)體標定的(de)(de)準確(que)度。比(bi)如我設(she)定的(de)(de)棋(qi)盤(pan)格(ge)大小(xiao)為270 (27mm)???,最(zui)終得出的(de)(de)Tx大小(xiao)就是602.8 (60.28mm),相(xiang)(xiang)當精(jing)確(que)。

 

Q2:通(tong)過立體標定得出的(de)Tx符(fu)號(hao)為什(shen)么是負的(de)?

A:這個(ge)其實(shi)我也不是(shi)很清楚。個(ge)人(ren)的(de)解釋(shi)是(shi),立(li)體標定得出的(de)T向(xiang)(xiang)量(liang)指向(xiang)(xiang)是(shi)從右攝(she)像(xiang)頭指向(xiang)(xiang)左攝(she)像(xiang)頭(也就(jiu)是(shi)Tx為負),而在OpenCV坐標系中(zhong),坐標的(de)原點是(shi)在左攝(she)像(xiang)頭的(de)。因此,用(yong)作校準的(de)時候,要(yao)把這個(ge)向(xiang)(xiang)量(liang)的(de)三個(ge)分量(liang)符號都要(yao)換(huan)一(yi)下,最后求出的(de)距(ju)離才會是(shi)正的(de)。

但是(shi)這(zhe)(zhe)(zhe)里(li)還有(you)(you)一(yi)個問題,就(jiu)是(shi)Learning OpenCV中(zhong)(zhong)Q的(de)(de)(de)表(biao)達式,第(di)四行第(di)三列元素是(shi)-1/Tx,而在(zai)具體(ti)實(shi)(shi)踐中(zhong)(zhong),求(qiu)出來的(de)(de)(de)實(shi)(shi)際(ji)值是(shi)1/Tx。這(zhe)(zhe)(zhe)里(li)我和maxwellsdemon討論下(xia)來的(de)(de)(de)結果是(shi),估計書上Q表(biao)達式里(li)的(de)(de)(de)這(zhe)(zhe)(zhe)個負號(hao)(hao)就(jiu)是(shi)為了抵消T向量的(de)(de)(de)反方(fang)向所(suo)設的(de)(de)(de),但在(zai)實(shi)(shi)際(ji)寫OpenCV代碼的(de)(de)(de)過程(cheng)中(zhong)(zhong),那位朋(peng)友卻(que)沒有(you)(you)把這(zhe)(zhe)(zhe)個負號(hao)(hao)加進(jin)去。(一(yi)家之言(yan),求(qiu)更詳細的(de)(de)(de)解(jie)釋)

 

Q3:cvFindStereoCorrespondenceBM的輸出結(jie)果(guo)好像(xiang)不是以像(xiang)素點為單位的視差(cha)?

A:在OpenCV2.0中,BM函數(shu)得出(chu)(chu)的(de)(de)結果是以(yi)16位符號數(shu)的(de)(de)形式的(de)(de)存儲(chu)的(de)(de),出(chu)(chu)于精(jing)度需(xu)要,所有(you)的(de)(de)視差(cha)在輸出(chu)(chu)時都擴大了16倍(2^4)。其具體代碼表示如下:

dptr[y*dstep] = (short)(((ndisp - mind - 1 + mindisp)*256 + (d != 0 ? (p-n)*128/d : 0) + 15) >> 4);

可以(yi)看到(dao),原始視差(cha)在左移(yi)8位(256)并且(qie)加(jia)上(shang)一(yi)個(ge)修正值之后又右移(yi)了(le)4位,最終(zhong)的結果就是左移(yi)4位

因此,在實際(ji)求距離(li)時,cvReprojectTo3D出來的X/W,Y/W,Z/W都要乘以(yi)16 (也(ye)就是W除以(yi)16),才能(neng)得到(dao)正確的三維坐標信息(xi)

 

Q4:利用雙(shuang)攝像頭進行測距的時候(hou)世界坐標(biao)的原點究竟在(zai)哪里?&nbsp;

A:世界坐標系(xi)的原點是左攝像頭凸透鏡的光心。

說起這個(ge),就不得不提到針孔(kong)模(mo)型(xing)。如圖3所示,針孔(kong)模(mo)型(xing)是凸透鏡(jing)成(cheng)像(xiang)的(de)一(yi)種簡(jian)化模(mo)型(xing)。當物距足夠遠時(遠大(da)于兩(liang)倍(bei)焦(jiao)距),凸透鏡(jing)成(cheng)像(xiang)可(ke)以看作是在焦(jiao)距處的(de)小(xiao)孔(kong)成(cheng)像(xiang)。

 

 

圖3. 針孔模型

 

在實際(ji)計(ji)算(suan)(suan)過程中,為了計(ji)算(suan)(suan)方便,我們將(jiang)像平(ping)(ping)面翻轉平(ping)(ping)移到針孔(kong)前,從而得到一種(zhong)數學上更(geng)為簡單的等價(jia)形式(方便相似三角形的計(ji)算(suan)(suan)),如圖4所示。

 

圖4. 針孔(kong)模型的數學等價形式

 

因此,對應圖2就(jiu)(jiu)可以知道(dao),世界坐標系原點就(jiu)(jiu)是(shi)(shi)左攝像(xiang)頭針孔模型(xing)的針孔,也就(jiu)(jiu)是(shi)(shi)左攝像(xiang)頭凸透鏡的光心

 

Q5:f和d的單(dan)位是像素,那這個像素到(dao)底表示什(shen)么,它與毫米(mi)之(zhi)間又是怎樣換算的?

A:這個(ge)問題(ti)也與針(zhen)孔(kong)模型相關。在針(zhen)孔(kong)模型中,光線穿過針(zhen)孔(kong)(也就(jiu)(jiu)(jiu)是(shi)(shi)凸透鏡(jing)中心(xin))在焦距處(chu)上成像(xiang),因(yin)此,圖3的(de)像(xiang)平面(mian)就(jiu)(jiu)(jiu)是(shi)(shi)攝像(xiang)頭(tou)的(de)CCD傳感器的(de)表面(mian)。每個(ge)CCD傳感器都有(you)一定(ding)的(de)尺寸,也有(you)一定(ding)的(de)分辨率,這個(ge)就(jiu)(jiu)(jiu)確定(ding)了毫(hao)米(mi)與像(xiang)素點之(zhi)(zhi)間(jian)的(de)轉(zhuan)換(huan)關系。舉(ju)個(ge)例子,CCD的(de)尺寸是(shi)(shi)8mm X 6mm,分辨率是(shi)(shi)640X480,那么毫(hao)米(mi)與像(xiang)素點之(zhi)(zhi)間(jian)的(de)轉(zhuan)換(huan)關系就(jiu)(jiu)(jiu)是(shi)(shi)80pixel/mm。

在(zai)(zai)實際運(yun)用中,我們在(zai)(zai)數學上將這個(ge)像平面等效到小(xiao)孔前(圖4),這樣就相當(dang)于將在(zai)(zai)透(tou)鏡中心點(dian)之前假(jia)設了一塊虛擬的(de)CCD傳(chuan)感器。

 

Q6:為什么(me)cvStereoRectify求(qiu)出的Q矩陣cx, cy, f都與原來的不同?

A:這個在前文有(you)提到過。在實際(ji)測量中(zhong),由于(yu)攝像(xiang)頭(tou)(tou)(tou)擺(bai)放的(de)關系,左(zuo)(zuo)右攝像(xiang)頭(tou)(tou)(tou)的(de)f, cx, cy都是不(bu)相同的(de)。而為了(le)使左(zuo)(zuo)右視圖達到完全平行對(dui)準的(de)理想(xiang)形式從而達到數學上運(yun)算的(de)方(fang)便,立體 校準所(suo)做的(de)工作(zuo)事實上就是在左(zuo)(zuo)右像(xiang)重合(he)區(qu)域最大的(de)情況(kuang)下(xia),讓兩個攝像(xiang)頭(tou)(tou)(tou)光軸(zhou)的(de)前向(xiang)平行,并且讓左(zuo)(zuo)右攝像(xiang)頭(tou)(tou)(tou)的(de)f, cx, cy相同。因此,Q矩陣中(zhong)的(de)值與兩個instrinsic矩陣的(de)值不(bu)一樣就可以理解了(le)。

在線(xian)客服
客服(fu)電話
  • 0755-23712116
  • 13310869691