分辨率測試卡解決相機(jī)拍攝失真問題
代碼只是一個特定的完成,但是這些概念能夠用任何編程言語來提取和應(yīng)用。留意下面,我們運(yùn)用后綴'_d'和'_u'的規(guī)則分辨率測試卡的辨認(rèn)失真和未失真圖像/坐標(biāo)相關(guān)的變量,并運(yùn)用大寫變量(如RHO)來辨認(rèn)測試和輸出圖像(將在下面隱含運(yùn)用的屬性)。
(1)將分辨率測試卡SFRPlus圖像加載到軟件中,并對其停止剖析,以肯定逆變換算系數(shù)(顯現(xiàn)在Rescharts交互模塊中)。(或者,將圖像加載到DotPattern模塊中并從中檢索LGD系數(shù),并將其轉(zhuǎn)換為逆變換系數(shù),然后跟隨其他步驟)。將它們加載到MATLAB中。
(2)相關(guān)于分辨率測試卡圖像的中心,定義該察看(失真)圖像的每個像素位置的空間坐標(biāo)。例如,由于該測試圖像是4288×2872像素,所以左上像素坐標(biāo)為(-2143.5,-1435.5)。
(3)將這些坐標(biāo)轉(zhuǎn)換為極坐標(biāo),因而我們只能支配徑向重量(這里稱為RHO)。我們還對徑向坐標(biāo)停止歸一化,然后縮放,使得未失真圖像的中心到角間隔最終將歸一化為1。
(4)留意:作為一個奇妙的點(diǎn),THETA和RHO_d對變量實踐上定義了空間坐標(biāo)兩種方式:顯性和隱性。它們的值定義顯式坐標(biāo),即(THETA(1,1),RHO(1,1))定義分辨率測試卡圖像的左上角像素的角和徑向坐標(biāo)。它們也經(jīng)過二維陣列隱含地定義一組坐標(biāo),這組坐標(biāo)具有自然的次第和構(gòu)造。即便我們更改這兩個數(shù)組的(1,1)條目的值,它們依然是每個數(shù)組的左上角條目。該點(diǎn)的顯式坐標(biāo)曾經(jīng)改動,但隱含的坐標(biāo)堅持不變。
運(yùn)用相機(jī)拍攝的分辨率測試卡圖在軟件中剖析相機(jī)的失真。其真實軟件是會顯現(xiàn)采樣的代碼信息的,但是關(guān)于普通不是十分理解代碼的人或不理解攝像行業(yè)的人這些代碼就像“天書”一樣難以了解。我們這里只撿一些關(guān)于用戶運(yùn)用的信息給您引見。
我們?nèi)缃駥⒄闪康氖д鎽?yīng)用于徑向坐標(biāo),使得顯式徑向間隔與察看圖像中該點(diǎn)的徑向間隔相匹配。如上所述,察看到的圖像中的失真位置如今經(jīng)過陣列中的隱含位置與圖像陣列中的未失真位置相關(guān)聯(lián)。我們運(yùn)用隱式數(shù)組元素位置作為未失真圖像的真實坐標(biāo),并將顯式數(shù)組值作為映射到失真圖像中的點(diǎn)以從中抽出樣本。
留意,我們實踐上沒有正向變換多項式,有只是軟件返回的逆多項式。這能夠經(jīng)過擬合一個新的(反向)多項式來反轉(zhuǎn)。
(5)我們?nèi)缃裼蠿_d,Y_d數(shù)組,其隱式坐標(biāo)是未失真圖像的坐標(biāo),其顯式值表示與它們相關(guān)聯(lián)的察看圖像中的采樣點(diǎn)。我們能夠直接在interp2()函數(shù)中直接運(yùn)用這些查詢(抽樣)點(diǎn)。
總結(jié)
如今我們能夠看到無失效果,特別留意上下的直線。還要留意的是,這個無失真圖像的邊緣四周有黑色區(qū)域-當(dāng)然,原始圖像中沒有任何信息用于有效填寫。
當(dāng)然,除了測試圖形圖之外,我們?nèi)缃襁€能夠?qū)鼍巴V轨o音。如今我們曾經(jīng)運(yùn)用分辨率測試卡和I測試軟件來表征攝像機(jī)系統(tǒng)自身形成的失真,我們能夠消弭任何其他圖像所需的失真。