<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

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

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

一. 簡介

RK3588從入門到精通

開發板:ArmSoM-W3

Kernel:5.10.160

OS:Debian11

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

二. 攝像頭連接

ArmSoM-W3開發板與imx415連接圖如下:

wKgZomVITeKABfqrAAgn30_F2bg515.pngw3-camera-hardware

注意

排線的金屬引腳朝向板子

三. 使用攝像頭

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

wKgZomVIXVCALdplAACZ1x4sHoI462.png

如果沒有報錯,那表明模塊在正常運行,在Linux系統中,你可以使用多種方法來訪問和利用該攝像頭設備。

3.1 使用命令行工具

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

media-ctl工具的操作是通過/dev/medio0等media 設備,它管理的是Media的拓撲結構中各個節點的 format、大小、 鏈接。 v4l2-ctl工具則是針對/dev/video0,/dev/video1等 video設備,它在video設備上進行set_fmt、 reqbuf、qbuf、dqbuf、stream_on、stream_off 等一系列操作。

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

3.1.1 顯示拓撲結構

使用以下命令可以顯示拓撲結構:

media-ctl -p -d /dev/media0

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

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

wKgaomVIXW2AEXb5AACISAOFQg0281.png

3.2.2 查看攝像頭信息

使用命令列出所有攝像頭設備:

wKgaomVIXX2AaRE0AACFOxrdQRk945.png

其中/dev/video11就是這個攝像頭的設備。

查看設備的預覽支持格式:

wKgZomVIXYmAQ8jOAACN_AFZZ-Y911.png

查看設備的所有信息:

wKgZomVIXZ6ANiM6AAC8vtHZed0051.png

3.2.3 顯示圖像

使用v4l2-ctl抓一幀圖片:

wKgaomVIXayAfNqkAACfbZ14DMY217.png

參數說明:

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

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

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

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

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 使用多媒體框架應用程序

GStreamer:GStreamer是一種多媒體框架,你可以使用它來構建自定義的多媒體應用程序,捕獲攝像頭視頻,進行處理和展示。

你可以使用以下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 捕獲視頻數據。

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

3. videoconvert:執行格式轉換,確保輸出數據適用于后續的元素。

4. autovideosink:自動選擇適當的視頻輸出插件,將視頻顯示在屏幕上。

顯示如下:

wKgZomVITueAedvsABvs2e5x2TI333.pngcamera-screenshot

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

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

wKgZomVIXdyAXxG5AADG-aKWH6w066.png

3.4.自定義應用程序開發

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

總的來說,應用程序通過API接口采集視頻數據大致分為五個步驟:

首先,打開視頻設備文件,進行視頻采集的參數初始化,設置視頻圖像的采集窗口、采集的點陣大小和格式;

其次,申請若干視頻采集的幀緩沖區,并將這些幀緩沖區從內核空間映射到用戶空間,便于應用程序讀取/處理視頻數據;

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

第四,驅動開始視頻數據的采集,應用程序從視頻采集輸出隊列取出幀緩沖區,處理完后,將幀緩沖區重新放入視頻采集輸入隊列,循環往復采集連續的視頻數據;

第五,停止視頻采集。

四. 結語

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

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 攝像頭
    +關注

    關注

    59

    文章

    4608

    瀏覽量

    92893
  • 開發板
    +關注

    關注

    25

    文章

    4429

    瀏覽量

    93992
  • RK3588
    +關注

    關注

    6

    文章

    237

    瀏覽量

    3451
收藏 人收藏

    評論

    相關推薦

    使用Arduino IDE 2.0開發ESP32攝像頭模塊

    /nodematrix/ESP32CameraDemo)。 以上是如何使用Arduino IDE 2.0開發ESP32攝像頭模塊的快速指南??梢栽跀U展包的樣例庫(File > Examples
    發表于 02-07 17:06

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

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

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

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

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

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

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

    一.簡介RK3588從入門到精通開發板:ArmSoM-W3Kernel:5.10.160OS:Debian11本?主要介紹在Rockchip平臺下Camera相關代碼配置,MIPI-CSI調試的通路
    的頭像 發表于 11-03 14:56 ?909次閱讀
    <b class='flag-5'>ArmSom--</b><b class='flag-5'>攝像頭</b><b class='flag-5'>開發指南</b>(一)

    ArmSom--I2C開發指南

    此鏈接為預覽,僅您自己可見知道1. 簡介RK3588從入門到精通本?介紹在rockchip平臺下如何配置i2c接口的方法并且添加調試驗證i2c外設的例子開發板:ArmSoM
    發表于 10-30 14:12 ?1次下載

    【悟空派H3開發板免費體驗】4 實現攝像頭監控

    : sudo killall -TERM motion 還可以設置成開機自動運行: sudovim/etc/rc.local 在exit 0前添加 motion,保存,就會開機自動運行了 然后reboot悟空派開發板。之后打開http://ip:8080就可以看到攝像頭
    發表于 10-10 20:24

    Rockchip I2C開發指南

    電子發燒友網站提供《Rockchip I2C開發指南.pdf》資料免費下載
    發表于 09-15 15:33 ?0次下載
    Rockchip I2C<b class='flag-5'>開發指南</b>

    PaddlePi-K210開發板除了支持ov2640 ov5640攝像頭外,還支持哪些攝像頭作為外設?

    想問一下PaddlePi-K210開發板除了支持ov2640 ov5640攝像頭外,還支持哪些攝像頭作為外設?能否支持紅外攝像頭?謝謝!
    發表于 09-14 07:13

    【KV260視覺入門套件試用體驗】KV260 開發套件使用體驗(、接通攝像頭

    【KV260視覺入門套件試用體驗】KV260 開發套件使用體驗(、接通攝像頭) 1、KV260 攝像頭硬件接口 KV260 可以接多個攝像頭
    發表于 09-03 11:41

    攝像頭 NVIF 云臺控制

    攝像頭
    阿梨是蘋果
    發布于 :2023年08月31日 09:54:28

    Openwrt開發指南 第25章 配置OpenWrt支持網絡攝像頭

    Openwrt開發指南 第25章 配置OpenWrt支持網絡攝像頭
    的頭像 發表于 07-13 08:56 ?1590次閱讀
    Openwrt<b class='flag-5'>開發指南</b> 第25章 配置OpenWrt支持網絡<b class='flag-5'>攝像頭</b>

    安卓主板的攝像頭旋轉、前置、后置攝像頭鏡像如何設置?

    攝像頭
    廣州向成電子科技有限公司
    發布于 :2023年07月07日 21:04:42
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>