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

基于ARM的廣角相機畸變校正系統設計

2022-02-28 04:14:18趙子國閔祥濤
電子元器件與信息技術 2022年12期
關鍵詞:系統

趙子國,閔祥濤

中國電波傳播研究所,山東 青島 266107

0 引言

相機光學系統在設計、加工及裝配過程中,由于加工誤差及工藝水平的影響,使得成像系統不能在整視場滿足針孔成像模型,進而導致原始圖像發生扭曲、變形,不能真實客觀地反映3D物理世界的空間位置信息[1]。特別對于90°至120°左右的廣角相機,畸變更加嚴重。目前,國內外學者已經對廣角相機的圖像畸變校正做了大量的研究工作,探索出了如張正友標定法等效果較好的校正方法,但國內的相關研究主要是對預采集完成的圖像在PC端軟件進行畸變校正,缺少對廣角相機進行實時校正的研究。在一些需現場更換鏡頭的場景,傳統基于PC端軟件的校正難以滿足實時性需求。本文設計了一種基于ARM的廣角相機畸變校正系統,將相機畸變校正算法在ARM中實現,無需借助PC機即可完成,提升了校正系統的實時性。

1 系統原理

1.1 畸變校正原理

本文使用棋盤格標定板,采用數字圖像處理方法進行相機畸變校正。首先通過角點匹配建立畸變圖像與標定板的映射變換矩陣。然后根據映射變換矩陣計算出相機內外參,將其作為后續優化的初始值。其次,加入相機畸變模型,完善變換矩陣,通過非線性優化方法得出相機內參及畸變系數的最優值。最后,利用相機內參及畸變系數的最優值對畸變圖像進行畸變校正。

1.1.1 映射變換矩陣

(1)坐標系建立。像素坐標系:以數字圖像左上角為坐標原點,以像素為單位建立的直角坐標系,如圖1(a)中O0-UV坐標系。圖像物理坐標系:原點定義在相機光軸與圖像平面的交點,采用實際物理長度單位,如圖1(a)中O1-XY坐標系。相機坐標系:以相機光心O為原點,Xc、Yc分別平行于x軸和y軸,Zc與光軸重合,建立O-XcYcZc坐標系。光心到圖像平面的距離為相機焦距f。世界坐標系:在物理三維環境中,建立世界坐標系Ow-XwYwZw。

圖1 坐標系示意圖

(2)變換關系。假設空間中一點P在世界坐標系的坐標為Pw=(xw,yw,zw),在圖像物理坐標系的坐標為P1=(x,y),在像素坐標系下坐標為P0=(u,v)。(u0,v0)為圖像物理坐標系原點O1在像素坐標系下的坐標,dx、dy分別為x軸和y軸的像元尺寸大小。

假設相機為針孔相機模型[2],且選擇定義物理平面,使得Zw=0,則有:

1.1.2 H矩陣求內外參

則有:

則兩個約束可以寫成:

如果對棋盤格平面采集n個圖像,通過角點匹配并計算得到n個單應性矩陣H,代入上述方程組,則可以得到2n個方程。求解這個方程組,即可得到矩陣B。

1.1.3 相機畸變模型

相機畸變主要可分為徑向畸變和切向畸變兩類[4]。

徑向畸變是沿著相機鏡頭透鏡半徑方向分布的畸變,產生原因是光線在遠離透鏡中心的地方比靠近中心的地方更加彎曲,徑向畸變主要包括桶形畸變和枕形畸變兩種。相機光軸中心的畸變為0,沿著鏡頭半徑方向向邊緣移動,畸變越來越嚴重。畸變的數學模型可以用主點周圍的泰勒級數展開式的前幾項進行描述,通常使用前兩項,即k1和k2,對于畸變很大的鏡頭,如廣角鏡頭,可以增加使用第三項k3來進行描述。

切向畸變是由于透鏡本身與相機傳感器平面(成像平面)或圖像平面不平行而產生的,這種情況多是由于透鏡被粘貼到鏡頭模組上的安裝偏差導致。

綜合考慮相機的徑向畸變和切向畸變,可得到相機畸變校正模型為:

1.2 畸變校正算法流程

根據1.1中所述畸變校正原理,可按照以下步驟進行校正。

(1)準備棋盤格標定板,打開廣角相機并從多角度拍攝標定板,獲取10~20張含完整標定板的圖像。

(2)檢測圖像中的特征角點,建立每張圖像與實際物理棋盤格標定板的映射關系,求解單應性矩陣H。

(3)利用公式(1)構建方程組,估算相機內參和外參,并作為后續優化的初始值。

(4)加入相機畸變模型,建立優化模型進行優化:

式中mij表示世界坐標系下的點Pj在第i張圖像上的投影點,表示通過內外參及畸變系數計算出的投影點坐標。

上述方程為非線性方程組,通過LM方法進行迭代求解,進而得到相機內參、外參及畸變系數的最優解。

(5)根據計算得到的相機內參、畸變系數的最優解,代入變換模型得到校正后的圖像。

2 系統實現

本部分將從平臺構建、軟件設計兩個方面進行敘述。

2.1 平臺構建

2.1.1 硬件平臺

硬件平臺選擇以ARM-Cortex-A7為內核的I.MX6ULL芯片作為核心處理芯片,外圍搭配接口處理電路、存儲電路等構成數據處理板,數據處理板連接攝像頭模組、LCD顯示器等,完成相機圖像數據采集及處理。數據處理板硬件資源:CPU主頻800MHz;內存256MB;FLASH容量256MB;擁有LCD、USB、攝像頭及TF卡等接口。

廣角相機參數:圖像傳感器的像元尺寸為1.4μm,300萬像素;鏡頭的焦距為1.5mm,DFOV為102°。

2.1.2 Linux軟件平臺

本文相機畸變校正算法基于Linux-Opencv實現,首先需在ARM平臺上移植嵌入式Linux系統,再將Opencv庫移植到嵌入式Linux系統中,最后根據1.2中所述算法流程編寫代碼實現對廣角相機的畸變校正。

(1)嵌入式Linux移植。一個完整的嵌入式Linux系統包含bootloader、Linux內核以及根文件系統組成。嵌入式Linux系統移植過程如下。

①bootloader移植:本文使用的bootloader為uboot,以NXP官方發布的uboot為基礎,通過添加處理板默認配置文件、頭文件、板級文件夾,修改硬件驅動等步驟使uboot適配數據處理板,再編譯下載uboot至ARM中。

②Linux內核移植:本文選擇Linux-4.1.15版本,以Linux源碼為基礎,使用imx_v7_mfg_defconfig配置文件配置Linux內核,修改設備驅動,再對Linux內核進行編譯生成zImage鏡像文件以及設備樹文件,最后下載至ARM中。

③根文件系統移植:本文使用BusyBox構建根文件系統,通過修改Makefile文件、配置BusyBox等步驟生成rootfs目錄文件,再添加lib庫,創建dev、proc等文件夾,修改rcS、fstab、inittab等文件,最后下載至ARM中。

(2)OpenCV庫移植。OpenCV是一個跨平臺的計算機視覺處理開源軟件庫,可在包括Windows、Linux等不同系統平臺上使用。

本文選擇opencv-3.4.1版本,移植過程如下:①將獲取到的opencv-3.4.1源碼在Linux環境下解壓;②通過cmake-gui圖形化工具根據需求選擇需要的庫進行配置,并生成Makefile等文件;③使用make指令進行編譯,安裝至創建的install目錄下后,再拷貝至根文件系統/usr/lib下。

至此,基于ARM平臺的Linux系統及其圖像處理庫構建完畢。

2.2 軟件設計

軟件實現主要包括相機圖像采集、校正算法實現兩部分。

2.2.1 相機圖像采集

本文采用Linux內核中視頻類設備驅動框架V4L2編寫相機驅動實現圖像采集,該驅動框架提供了一套統一的接口規范,每一個videoX設備文件代表一個視頻類設備。應用程序通過對videoX設備文件進行I/O操作來使用該類設備[5]。

編寫應用程序實現相機圖像采集時,應遵循V4L2設備驅動框架規范,其編程流程如下。

(1)使用open函數打開相機設備文件。

(2)查詢相機的屬性、功能。

(3)設置相機參數,如使用ioctl(fd,VIDIOC_S_FMT,&fmt)設置幀格式。

(4)申請幀緩沖,再進行內存映射。

(5)開啟幀緩沖入隊,而后通過調用ioctl(fd,VIDIOC_STREAMON,&type)進行圖像采集。

(6)幀緩沖出隊,并從幀緩沖中獲取數據、進行處理。

(7)處理完后,再次將幀緩沖入隊,往復。

(8)停止相機采集,取消內存映射,關閉設備。

通過上述相機圖像采集應用程序從多角度采集15張含完整標定板的圖像,并存入FLASH中供后續校正算法使用。

2.2.2 畸變校正

系統相機畸變校正軟件基于OpenCV庫實現,其編程流程如下。

(1)讀取FLASH中保存的15張圖片,對每張圖片提取特征角點,如果檢測到的所有角點排布方式與棋盤格標定板角點的排布方式相同,則認定該幅照片有效并生成圖像特征點位置數組,否則直接丟棄并繼續處理下一張圖片。可使用cornerSubPix函數作進一步優化計算,使角點的位置精度達到亞像素級別。

(2)根據棋盤格標定板特征角點的排列位置關系建立物理特征點位置數組,利用FindHomography函數求解圖像特征點位置數組與物理特征點位置數組的映射關系,得到單應性矩陣H。

(3)由H矩陣,利用Solve函數、FindExtrinsic CameraParams2函數分別得到相機內參、外參,并作為優化初始值。

(4)在相機映射變換矩陣基礎上加入相機畸變模型,構建優化模型,運用LM方法使所有視圖的重投影誤差之和最小,取最小點處相機內參、外參及畸變系數的值作為最優值。

(5)根據計算得到的相機內參、畸變系數的最優值,可通過getOptimalNewCameraMatrix函數獲得新內參值以去除畸變校正后圖像四周黑色區域,再利用undistort函數得到校正后的圖像。

3 效果

系統上電并等待Linux系統啟動后,運行相機驅動程序完成對棋盤格標定板多視角采集,圖像采集數量為15張。采集的圖像如圖2(a)所示。

圖2 相機采集圖像

運行系統相機畸變校正軟件,讀取采集到的15張圖片,經過計算得到相機內參及畸變系數。再選取待校正圖片,如圖2(b),點擊校正,即可得到校正完成后的圖片,如圖2(c)。可見,系統對畸變圖像有較好的校正效果。

4 結語

本文設計了一種基于ARM平臺的廣角相機畸變校正系統,擺脫了傳統基于PC端進行校正的方法,將廣角相機校正算法在嵌入式ARM平臺得到了實現,使系統實時性得到了提升,取得了較好的校正效果,具有一定的實際工程應用價值。后續將對算法進行優化,使實時性得到進一步提升。

猜你喜歡
系統
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
基于PowerPC+FPGA顯示系統
基于UG的發射箱自動化虛擬裝配系統開發
半沸制皂系統(下)
FAO系統特有功能分析及互聯互通探討
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
一德系統 德行天下
PLC在多段調速系統中的應用
主站蜘蛛池模板: 99久久国产自偷自偷免费一区| 成人伊人色一区二区三区| 国产成人综合亚洲网址| 亚洲Aⅴ无码专区在线观看q| 亚洲日韩在线满18点击进入| 国产精品夜夜嗨视频免费视频| 久久无码av三级| 伊人成人在线| 深爱婷婷激情网| 国产区免费| 久久亚洲黄色视频| 国产美女自慰在线观看| 国产精品露脸视频| 99国产精品国产| 无码精品国产VA在线观看DVD| 一级毛片基地| 国产免费福利网站| 91精品国产91久久久久久三级| 98精品全国免费观看视频| 国产精品亚洲专区一区| 国产一在线| 91麻豆精品视频| 天堂在线视频精品| 亚洲一区二区无码视频| 无码AV高清毛片中国一级毛片| 欧美区国产区| 婷婷六月综合网| 欧美三级自拍| 亚洲啪啪网| 国产在线91在线电影| 成·人免费午夜无码视频在线观看| 亚洲伊人久久精品影院| 国产激情第一页| 成人精品视频一区二区在线| 福利小视频在线播放| 97国产成人无码精品久久久| 久久精品国产免费观看频道| 免费看a级毛片| 国产亚洲欧美在线视频| 97国产精品视频人人做人人爱| 国产在线观看91精品亚瑟| 国产精品浪潮Av| 91精品国产91久无码网站| 欧美黄色a| 91年精品国产福利线观看久久 | 亚洲欧洲AV一区二区三区| 综合色88| 中文字幕啪啪| 精品少妇人妻无码久久| 国产黄在线免费观看| 亚洲色图综合在线| 国产色婷婷| 宅男噜噜噜66国产在线观看| 狠狠v日韩v欧美v| 亚洲天堂免费| 国产精品香蕉在线| 国产成人狂喷潮在线观看2345| 国产激情影院| 亚洲成a人片| 在线观看国产黄色| 精品成人一区二区三区电影| 中文精品久久久久国产网址 | 日韩A级毛片一区二区三区| 亚洲精品第一在线观看视频| 久久亚洲中文字幕精品一区| 在线观看av永久| 亚洲一区二区三区在线视频| 婷婷午夜影院| 国产精品99久久久| 精品三级网站| 国产欧美一区二区三区视频在线观看| 男人天堂伊人网| av在线无码浏览| 亚洲成人免费看| 一区二区三区四区精品视频| 亚洲第一成年人网站| 99视频只有精品| 亚洲第一综合天堂另类专| 国产精品自在在线午夜 | 91视频免费观看网站| 亚洲中文精品人人永久免费| 日韩精品专区免费无码aⅴ|