0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

ArmSom--攝像頭開發(fā)指南(二)

ARMSOM ? 2023-11-06 10:30 ? 次閱讀

一. 簡介

RK3588從入門到精通

開發(fā)板:ArmSoM-W3

Kernel:5.10.160

OS:Debian11

上篇文檔介紹了rockchip平臺怎么配置MIPI-CSI的通路,本?主要介紹在Rockchip平臺下Camera相關(guān)測試命令

二. 攝像頭連接

ArmSoM-W3開發(fā)板與imx415連接圖如下:

wKgZomVITeKABfqrAAgn30_F2bg515.pngw3-camera-hardware

注意

排線的金屬引腳朝向板子

三. 使用攝像頭

連接攝像頭模塊并上電后,可查看開機(jī)日志。

wKgZomVIXVCALdplAACZ1x4sHoI462.png

如果沒有報(bào)錯(cuò),那表明模塊在正常運(yùn)行,在Linux系統(tǒng)中,你可以使用多種方法來訪問和利用該攝像頭設(shè)備。

3.1 使用命令行工具

media-ctl 和 v4l2-ctl 是在Linux環(huán)境下用于配置和管理視頻和多媒體設(shè)備的命令行工具。它們通常與V4L2(Video for Linux 2)子系統(tǒng)一起使用,用于管理攝像頭、視頻采集卡、顯示設(shè)備和其他多媒體硬件的設(shè)置和參數(shù)

media-ctl工具的操作是通過/dev/medio0等media 設(shè)備,它管理的是Media的拓?fù)浣Y(jié)構(gòu)中各個(gè)節(jié)點(diǎn)的 format、大小、 鏈接。 v4l2-ctl工具則是針對/dev/video0,/dev/video1等 video設(shè)備,它在video設(shè)備上進(jìn)行set_fmt、 reqbuf、qbuf、dqbuf、stream_on、stream_off 等一系列操作。

n為4的倍數(shù)(0,1,2,3…) /dev/videon+0:視頻輸出 SP主通道 /dev/videon+1:視頻輸出 MP自身通道 /dev/videon+2:3A統(tǒng)計(jì) /dev/videon+3:3A參數(shù)設(shè)置

3.1.1 顯示拓?fù)浣Y(jié)構(gòu)

使用以下命令可以顯示拓?fù)浣Y(jié)構(gòu):

media-ctl -p -d /dev/media0

主要關(guān)注的是有沒有找到Sensor的Entity。如果沒有找到Sensor的Entity,說明Sensor注冊有問題。

開發(fā)板上接上攝像頭后可以看到如下的輸出:

wKgaomVIXW2AEXb5AACISAOFQg0281.png

3.2.2 查看攝像頭信息

使用命令列出所有攝像頭設(shè)備:

wKgaomVIXX2AaRE0AACFOxrdQRk945.png

其中/dev/video11就是這個(gè)攝像頭的設(shè)備。

查看設(shè)備的預(yù)覽支持格式:

wKgZomVIXYmAQ8jOAACN_AFZZ-Y911.png

查看設(shè)備的所有信息:

wKgZomVIXZ6ANiM6AAC8vtHZed0051.png

3.2.3 顯示圖像

使用v4l2-ctl抓一幀圖片:

wKgaomVIXayAfNqkAACfbZ14DMY217.png

參數(shù)說明:

-d: 攝像頭對應(yīng)設(shè)備文件 --set-fmt-video:指定了寬高及pxielformat(用FourCC表示)。NV12即用FourCC表示的pixelformat --stream-mmap:指定buffer的類型為mmap,即由kernel分配的物理連續(xù)的或經(jīng)過iommu映射的buffer --stream-to:指定幀數(shù)據(jù)保存的文件路徑 --stream-skip:指定丟棄(不保存到文件)前3幀 --stream-count:指定抓取的幀數(shù),不包括--stream-skip丟棄的數(shù)量

抓取的圖片使用adb工具拷貝到Windows下用7YUV工具打開,也可以用ffplay命令打開

ffplay是FFmpeg提供的一個(gè)極為簡單的音視頻媒體播放器(由ffmpeg庫和SDL庫開發(fā)),可以用于音視頻播放、可視化分析 ,提供音視頻顯示和播放相關(guān)的圖像信息、音頻的波形等信息,也可以用作FFmpeg API的測試工具使用。

使用 ffplay 非常簡單,只需在終端中運(yùn)行以下命令來播放媒體文件:

ffplay /data/4k_nv12.yuv -f rawvideo -pixel_format nv12 -video_size 3840x2160

3.2.3 顯示視頻

使用v4l2可以錄制視頻:

wKgZomVIXciAQu_qAAAvRBV1X0E271.png

使用ffplay播放:

ffplay -f rawvideo -video_size 3840x2160 -pixel_format nv12 out.yuv

3.3 使用多媒體框架應(yīng)用程序

GStreamer:GStreamer是一種多媒體框架,你可以使用它來構(gòu)建自定義的多媒體應(yīng)用程序,捕獲攝像頭視頻,進(jìn)行處理和展示。

你可以使用以下GStreamer管道捕獲視頻:

gst-launch-1.0 v4l2src device=/dev/video11 ! video/x-raw,format=NV12,width=3840,height=2160,framerate=30/1 ! videoconvert ! autovideosink

1. v4l2src:從 /dev/video11 捕獲視頻數(shù)據(jù)。

2. video/x-raw:指定輸出數(shù)據(jù)格式為原始視頻,format 參數(shù)設(shè)置為 NV12,width 設(shè)置為 3840,height 設(shè)置為 2160,framerate 設(shè)置為 30fps。

3. videoconvert:執(zhí)行格式轉(zhuǎn)換,確保輸出數(shù)據(jù)適用于后續(xù)的元素。

4. autovideosink:自動選擇適當(dāng)?shù)囊曨l輸出插件,將視頻顯示在屏幕上。

顯示如下:

wKgZomVITueAedvsABvs2e5x2TI333.pngcamera-screenshot

注意:顯示器的分辨率是1920x1080,攝像頭的分辨率是3840x2160,導(dǎo)致如左上角畫面顯示不全,雙擊邊框可以得到分辨率是1920x1080的畫面。

下面有一個(gè)簡單的Python示例,用于創(chuàng)建一個(gè)GStreamer管道并啟動捕獲視頻可供參考:

wKgZomVIXdyAXxG5AADG-aKWH6w066.png

3.4.自定義應(yīng)用程序開發(fā)

特定的定制功能,一般是使用編程語言(如C++或Python)開發(fā)自己的攝像頭應(yīng)用程序

總的來說,應(yīng)用程序通過API接口采集視頻數(shù)據(jù)大致分為五個(gè)步驟:

首先,打開視頻設(shè)備文件,進(jìn)行視頻采集的參數(shù)初始化,設(shè)置視頻圖像的采集窗口、采集的點(diǎn)陣大小和格式;

其次,申請若干視頻采集的幀緩沖區(qū),并將這些幀緩沖區(qū)從內(nèi)核空間映射到用戶空間,便于應(yīng)用程序讀取/處理視頻數(shù)據(jù);

第三,將申請到的幀緩沖區(qū)在視頻采集輸入隊(duì)列排隊(duì),并啟動視頻采集;

第四,驅(qū)動開始視頻數(shù)據(jù)的采集,應(yīng)用程序從視頻采集輸出隊(duì)列取出幀緩沖區(qū),處理完后,將幀緩沖區(qū)重新放入視頻采集輸入隊(duì)列,循環(huán)往復(fù)采集連續(xù)的視頻數(shù)據(jù);

第五,停止視頻采集。

四. 結(jié)語

根據(jù)需求,選擇最適合的方法來訪問和使用攝像頭設(shè)備,每個(gè)具體型號的攝像頭可能有其獨(dú)特的設(shè)置和要求,各個(gè)系統(tǒng)下的使用攝像頭的方法也有很多,如果你有疑問或者需要幫助,可以在ArmSom論壇提出問題,與其他開發(fā)者分享經(jīng)驗(yàn)和獲取支持。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 攝像頭
    +關(guān)注

    關(guān)注

    59

    文章

    4752

    瀏覽量

    94394
  • 開發(fā)板
    +關(guān)注

    關(guān)注

    25

    文章

    4771

    瀏覽量

    96178
  • RK3588
    +關(guān)注

    關(guān)注

    6

    文章

    288

    瀏覽量

    3937
收藏 人收藏

    評論

    相關(guān)推薦

    攝像頭 PMIC 選型指南

    電子發(fā)燒友網(wǎng)站提供《攝像頭 PMIC 選型指南.pdf》資料免費(fèi)下載
    發(fā)表于 09-10 10:00 ?0次下載
    <b class='flag-5'>攝像頭</b> PMIC 選型<b class='flag-5'>指南</b>

    LVGL開發(fā)指南介紹

    電子發(fā)燒友網(wǎng)站提供《LVGL開發(fā)指南介紹.pdf》資料免費(fèi)下載
    發(fā)表于 09-09 10:24 ?0次下載

    TPS6503xx-Q1攝像頭PMIC編程指南

    電子發(fā)燒友網(wǎng)站提供《TPS6503xx-Q1攝像頭PMIC編程指南.pdf》資料免費(fèi)下載
    發(fā)表于 09-03 14:14 ?0次下載
    TPS6503xx-Q1<b class='flag-5'>攝像頭</b>PMIC編程<b class='flag-5'>指南</b>

    RA/RX電機(jī)應(yīng)用開發(fā)指南

    電子發(fā)燒友網(wǎng)站提供《RA/RX電機(jī)應(yīng)用開發(fā)指南.pdf》資料免費(fèi)下載
    發(fā)表于 08-15 09:44 ?0次下載
    RA/RX電機(jī)應(yīng)用<b class='flag-5'>開發(fā)指南</b>

    CANape Option DA中參考攝像頭的標(biāo)定演示#CANape

    攝像頭
    北匯信息POLELINK
    發(fā)布于 :2024年07月30日 12:37:29

    esp32是如何與攝像頭連接的呢?

    新手??戳薳sp32的模組中沒有攝像頭的硬件接口,請問它是如何與攝像頭連接的呢
    發(fā)表于 06-28 15:01

    攝像頭模組電路

    求助各位大佬,想問一下攝像頭模組硬件電路大概需要怎么設(shè)計(jì)
    發(fā)表于 06-07 10:29

    爆蘋果正在探索開發(fā)攝像頭的AirPods

    據(jù)知名蘋果爆料記者馬克?古爾曼消息,蘋果正在探索開發(fā)攝像頭的AirPods。
    的頭像 發(fā)表于 02-27 15:04 ?668次閱讀

    高清網(wǎng)絡(luò)攝像頭多媒體智能屏

    。同時(shí),在屏幕上顯示攝像頭畫面可直接通過DGUS開發(fā)來實(shí)現(xiàn),十分快捷。硬件接口展示:產(chǎn)品特點(diǎn)支持通過以太網(wǎng)、WiFi(2.4GHz、5GHz均可)連接網(wǎng)絡(luò)攝像頭;支
    的頭像 發(fā)表于 02-19 13:21 ?416次閱讀
    高清網(wǎng)絡(luò)<b class='flag-5'>攝像頭</b>多媒體智能屏

    使用Arduino IDE 2.0開發(fā)ESP32攝像頭模塊

    /nodematrix/ESP32CameraDemo)。 以上是如何使用Arduino IDE 2.0開發(fā)ESP32攝像頭模塊的快速指南。可以在擴(kuò)展包的樣例庫(File > Examples
    發(fā)表于 02-07 17:06

    AHD攝像頭與CVBS的區(qū)別

    隨著科技的不斷進(jìn)步,攝像頭作為監(jiān)控領(lǐng)域中重要的設(shè)備之一,也在不斷演化和改進(jìn)。AHD(Analog High Definition,模擬高清)攝像頭是近年來相對較新的一種技術(shù),相對于傳統(tǒng)的CVBS
    的頭像 發(fā)表于 01-04 11:08 ?1.1w次閱讀

    【ELF 1開發(fā)板試用】+ 3.2 USB攝像頭連接測試 + Ubutu SSH連接

    連接測試 本文繼續(xù)做一下連接接口的測試,本文使用USB攝像頭進(jìn)行連接,以測試ELF 1 USB功能,以及其對應(yīng)的攝像頭視頻流的處理反饋 設(shè)備部署如下: ELF1 外接了一個(gè)部署在維云臺的 USB
    發(fā)表于 12-06 15:37

    ArmSom--攝像頭開發(fā)指南()

    上篇文檔介紹了rockchip平臺怎么配置MIPI-CS的通路,本文主要介紹在Rockchip平臺下Camera相關(guān)測試命令
    發(fā)表于 11-06 16:21 ?1次下載

    ArmSom--攝像頭開發(fā)指南(一)

    本文主要介紹在Rockchip平臺下Camera相關(guān)代碼配置,MIPI-CS調(diào)試的通路解析。
    發(fā)表于 11-06 16:19 ?1次下載

    ArmSom--攝像頭開發(fā)指南(一)

    解析名詞解釋:CSI(CameraSerialInterface):主機(jī)處理器與攝像頭模塊之間的高速串行接口DSI(DisplaySerialInterface)
    的頭像 發(fā)表于 11-03 14:56 ?1216次閱讀
    <b class='flag-5'>ArmSom--</b><b class='flag-5'>攝像頭</b><b class='flag-5'>開發(fā)指南</b>(一)