溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

A20 linux如何同時(shí)使用Parallel CSI Camera及UVC

發(fā)布時(shí)間:2021-10-22 09:56:50 來(lái)源:億速云 閱讀:347 作者:柒染 欄目:互聯(lián)網(wǎng)科技

A20 linux如何同時(shí)使用Parallel CSI Camera及UVC ,針對(duì)這個(gè)問(wèn)題,這篇文章詳細(xì)介紹了相對(duì)應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問(wèn)題的小伙伴找到更簡(jiǎn)單易行的方法。

【目標(biāo)】
在A20上同時(shí)對(duì)parallel同時(shí)使用parallel csi攝像頭及usb攝像頭進(jìn)行preview。
【選型】
硬件選用主控為A20的CubieBoard2開(kāi)發(fā)板。
軟件SDK選用全志A20 Kitkat SDK中的lichee包。
【過(guò)程】
1、在linux-3.4的menuconfig中將uvc驅(qū)動(dòng)選項(xiàng)打開(kāi),USB_VIDEO_CLAS設(shè)置成m,USB_VIDEO_CLASS_INPUT_EVDEV設(shè)置成y。
Device Drivers —>
<*> Multimedia support —>
[*] Video capture adapters —>
[*] V4L USB devices —>
USB Video Class (UVC)
[*] UVC input events device support
A20 linux如何同時(shí)使用Parallel CSI Camera及UVC

2、在dragonboard中加入usb camera的testcase。全志dragonboard環(huán)境使用的是linux+DirectFb,可以參考既有的csi camera testcase代碼進(jìn)行添加。大致分為兩步:
第一步,在df_view.c的csi camera test代碼后加入啟動(dòng)usb camera test的代碼

x2 = 0;
height2 = layer_config.height>>1;
y2 = layer_config.height>>1;if(mic_activated){ width3 = (layer_config.width >> 1)-(layer_config.width>>MIC_POWER_BAR_WITH_SHIFT); }else{ width3 = (layer_config.width >> 1); }if (usb_camera_test_init(x2,y2,width3,height2)){ return -1; }

第二步,增加usbcameratest.c,usbcameratest.c包含了usb camera的初始化、打開(kāi)、設(shè)置參數(shù)等核心方法,上文中的usb_camera_test_init函數(shù)實(shí)現(xiàn)也在這個(gè)源碼文件里面。可根據(jù)以下流程編寫usbcameratest.c,
A20 linux如何同時(shí)使用Parallel CSI Camera及UVC
這里,有幾點(diǎn)需要注意,一是usb camera的數(shù)據(jù)格式是YUYV,所以在set format的時(shí)候,pixel format要設(shè)置成YUYV;二是usb camera的圖像大小是640x480。

3、從CubieBoard2原理圖可知,上面只能使用csi1接parallel csi camera,所以test_config.fex需要作以下修改

[camera]activated = 1module_count= 6module1_path= "/system/vendor/modules/videobuf-core.ko"module2_path= "/system/vendor/modules/videobuf-dma-contig.ko"module3_path= "/system/vendor/modules/camera.ko"module4_path= "/system/vendor/modules/gc0308.ko"module5_path= "/system/vendor/modules/sunxi_csi1.ko"module6_path= "/system/vendor/modules/uvcvideo.ko"dev_cnt = 1csi_cnt = 1fps = 30

4、編譯打包燒錄

cd lichee
./build.sh -p sun7i_dragonboard
./build.sh pack

【結(jié)果】
下圖LCD右上角為parallel csi camera preview,左下角為usb camera preview,兩個(gè)攝像頭均已打開(kāi)并持續(xù)采集數(shù)據(jù)繪制以屏幕上。
A20 linux如何同時(shí)使用Parallel CSI Camera及UVC

【遺留問(wèn)題及解決方案】
由于usb camera的數(shù)據(jù)格式是YUYV,LCD中usb camera preview區(qū)域的格式是YUV420,所以無(wú)法正確顯示來(lái)自于usb camera的畫(huà)面數(shù)據(jù)。解決此問(wèn)題可考慮數(shù)據(jù)格式轉(zhuǎn)換,將YUYV轉(zhuǎn)成YUV420再繪制以屏幕上,實(shí)現(xiàn)轉(zhuǎn)換可使用A20 G2D,效率更高。

關(guān)于 A20 linux如何同時(shí)使用Parallel CSI Camera及UVC 問(wèn)題的解答就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,如果你還有很多疑惑沒(méi)有解開(kāi),可以關(guān)注億速云行業(yè)資訊頻道了解更多相關(guān)知識(shí)。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI