<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天內不再提示

使用libcamera函式庫操控樹莓派攝影機

jf_cVC5iyAO ? 來源:易心Microbit編程 ? 2023-08-10 16:06 ? 次閱讀

libcamera是什么?它是兩個字的合寫,一是函式庫library的簡稱lib,另一是攝影機的camera(或稱影像傳感器imagesensor)。它是一套開放源代碼的函式庫,最初是Nokia為了開發Linux智慧手機而配套發展的軟件,之后Nokia取消這個開發計劃,然軟件被接續發展至今。

libcamera可以用在各種Linux相關的操作系統上,如Android、ChromeOS、Linux等,用其來設定、操控攝影機,因此也能用來操控樹莓派(Raspberry Pi)官方的攝影機模塊(Camera Module),畢竟樹莓派也是跑Linux的。

樹莓派攝影機模塊已經是第三代了,第一代是2013年推出,只有500萬畫素,之后2016年推出800萬畫素的第二代,今(2023)年則推出第三代,并把畫素拉高到1,200萬,第三代發表后第一代也就不再供貨。

如何使用

95e5b3dc-3754-11ee-9e74-dac502259ad0.jpg

用libcamera操控攝影機是透過命令行(command line)方式達到的,例如最簡單是先打libcamera-hello(類似一般寫程序的Hello World),就可以看到5秒的鏡頭畫面預覽。

或者可以用libcamera-jpeg來要求攝影機捕捉畫面,并以 .jpg格式存檔,例如打libcamera-jpeg -o test.jpg就會把影像捕捉后輸出(Output, 參數o的由來)成一個test.jpg圖檔。類似的,libcamera-still也是捕捉靜態畫面用的命令,但比較能支持舊版的相關參數選項。

或者還有libcamera-raw指令,能運用攝影機最原生的規格來錄像,不過錄的過程中不會同步顯示預覽畫面,典型的使用方式如libcamera-raw -t 2000 -o test.raw,是指連續錄2秒鐘,并以test.raw為文件名存下錄像的內容;或者還有libcamera-detect指令,一般在Raspberry Pi OS下沒有這個指令,主要是搭配TensorFlow Lite一起使用。

在各種操作設定中,libcamera-vid可能是最為常用且好用的,vid估計是video的簡稱,libcamera-vid是用于一般錄像用的,用它來錄像可以啟動樹莓派主控芯片內的H.264硬件編碼器,可以更快速、順暢且省電的方式進行錄像。

libcamera-vid默認是使用640 x 480分辨率,但可以手動指定分辨率,例如要以Full HD分辨率錄像,命令可以下libcamera-vid –width 1920 –height 1080 -o

full_hd.h264,這樣就可以將錄像內容以full_hd.h264的文件名存下來,編碼格式為H.264。

如果還要指定每秒的錄制畫面張數(framerate),或稱畫面更新率,對岸稱為幀率,也可以加上–framerate 50,50是指每秒50張,數字可以依需要調整。

進一步的也可以調整比特率(bitrate),參數可以下–bitrate或-b都可以,例如libcamera-vid -b 1000000 –width 1920 –height 1080-o test.h264這段指令是指使用1920 x 1080分辨率錄像,比特率為1Mbps,即命令行中的數字1000000。若是把數字調高,從1000000增加到5000000、9000000等,則錄下來的畫質比較好。

除了H.264格式外其實也可以用MJPEG來錄制,命令libcamera -t 20000 –codec mjpeg -o test.mjpeg即表示錄2秒然后以test.mjpeg文件名儲存,錄像的編碼格式為MJPEG。這里要注意,單純指定檔名為 .mjpeg但卻沒有加–codec參數其實是無效的,一定要加。

不僅錄像可能還需要同步錄音,這時得幫樹莓派裝上麥克風,然后透過另外一個函式庫的協助來完成,一樣要下codec參數,命令為libcamera-vid –codec libav –libav-audio -o test.mp4,這里即呼叫了前面純錄像時沒用到的libav函式庫。

到這里可能還有個疑問:開始錄制后該如何停止嗎?很簡單,使用鍵盤組合鍵Ctrl+C即可,要恢復繼續錄就重新下一次命令?;蛘?,也可以用–timeout參數來預先設定錄像時間,最小單位為1毫秒,如果下–timeout 1000就是錄制一秒的意思。

第三代模塊參數設定

接下來要啟用第三代攝影模塊的特有功能,如自動對焦、高動態范圍等,自動對焦要使用到–lens-position(鏡頭位置)參數,參數值是焦距的倒數,類似屈光率,如果數值是10,則1/10是0.1,表示焦距位置為0.1公尺;如果數值是0.5,則1/0.5為2,表示焦距位置為2公尺,范例命令如libcamera-vid –lens-position 0.5 -o test.h264(鏡頭焦距放在2公尺位置)

95efc0c0-3754-11ee-9e74-dac502259ad0.jpg

樹莓派第三代攝影鏡頭的四種類型

至于要啟用高動態范圍功能,就只要下–hdr參數(即high dynamic range)即可,不需要搭配數值,例如libcamera-vid –hdr -o test.h264

要注意的是,啟用高動態范圍就無法使用鏡頭原有的最高分辨率(4608 x 2592),必須在長寬分辨率都打對折(2304 x 1296)。不過,若最后選擇用H.264格式儲存影像,由于H.264格式最高到1920 x 1080,所以開啟與不開啟的分辨率改變幾乎沒有差別。

結語

有關libcamera的參數還非常多,例如可以用串流方式輸出視訊畫面,或設定以時間為單位把原本該連續錄制的圖像文件案自動切割、編號儲存,更多參數有待創客們親自去嘗試、摸索、體驗。

審核編輯:湯梓紅

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

    關注

    2532

    文章

    48534

    瀏覽量

    742347
  • 麥克風
    +關注

    關注

    14

    文章

    602

    瀏覽量

    54301
  • Linux
    +關注

    關注

    87

    文章

    11022

    瀏覽量

    207059
  • 攝影機
    +關注

    關注

    0

    文章

    61

    瀏覽量

    10318
  • 樹莓派
    +關注

    關注

    114

    文章

    1654

    瀏覽量

    104871

原文標題:用libcamera函式庫操控樹莓派攝影機

文章出處:【微信號:易心Microbit編程,微信公眾號:易心Microbit編程】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    大聯大詮鼎集團推出OTUS(歐特斯)魚眼校正的網絡攝影機及全景式運動攝影機整體解決方案

     2015年8月18日,致力于亞太地區市場的領先半導體元器件分銷商---大聯大控股宣布,其旗下詮鼎推出OTUS(歐特斯)自帶魚眼校正功能和完整ISP的網絡攝影機及運動攝影機整體解決方案
    發表于 08-18 13:58 ?1234次閱讀

    樹莓延時攝影項目分享(帶紅外夜視)

    樹莓攝影攝像
    老劉玩機
    發布于 :2022年03月20日 12:25:00

    本公司出售各種品牌筆記本電腦 相機 攝影機等數碼產品

    本公司出售各種品牌筆記本電腦 相機 攝影機等數碼產品,聯系電話:400-6730037 QQ:712631698
    發表于 04-10 18:24

    樹莓的神奇 超乎你想象

    是還沒被取的水果之一,并且它也是最粗魯的水果因為它讓人們想起吹樹莓。樹莓攝影大賽落幕:千姿百態,見識樹莓
    發表于 08-08 09:32

    請問樹莓如何用python連接外部數據?

    新人求教,在樹莓中用python編程,如何連接樹莓外部的數據,求詳細的操作流程,謝謝各位大神。
    發表于 04-22 03:44

    基于樹莓采集網關

    自學了C#,做了一些開發上位的工作,后來又接觸到了樹莓,由于公司業務需要,需要采集現場設備的信息,自己嘗試著使用.NET Core 在樹莓派上運行C#代碼進行設備采集,由于
    發表于 07-02 06:13

    qt源碼樹莓中的部署方法

    想要在嵌入設備中運行qt程序(其他的程序一樣),要在嵌入設備中將程序運行所依賴的部署。網上部署方式千萬種,例如直接將編譯之后寫入鏡像,然后用這個鏡像來安裝
    發表于 12-24 06:44

    水滴攝影是如何實現的?

    。使用樹莓的水滴攝影是過度設計的經典案例。它打開了一個攝影機會的全新世界【新課推薦】45天BMS鋰離子電池管理系統設計實戰線上特訓班 老白新課,課程包含一塊板子,老白手把手教學,性價
    發表于 05-01 16:25

    攝影機術語(一)

    攝影機術語(一) 搶拍 采訪攝影(象)的方法之一; 故事影視片在特殊情況下的一
    發表于 04-12 10:42 ?607次閱讀

    攝影機術語(二)

    攝影機術語(二) 線鎖定同步 線鎖定同步(LINE LOCK)是一種利用交流電源來鎖定攝像機場同步脈沖的一種同步
    發表于 04-12 10:49 ?661次閱讀

    攝影機術語(三)

    攝影機術語(三) 感光度 表示感光快慢的數值。在規定的顯影條件下,測定感光材料達到一定密度值所需的曝
    發表于 04-12 11:13 ?607次閱讀

    歐度宣布與RED數字攝影機達成戰略合作

    年初,歐度宣布與專業數字攝影機的領導品牌——RED數字攝影機達成戰略合作。
    的頭像 發表于 07-10 14:10 ?2534次閱讀

    虛擬拍攝對攝影機有什么要求?

    虛擬制作對許多不同的人來說意味著許多不同的東西,它涵蓋了從遠程制作到攝影機內VFX(特效)和攝影的方方面面。例如《曼達洛人 The Mandalorian》的VFX,以及使用綠屏并將攝影機運動跟蹤
    的頭像 發表于 03-25 17:02 ?628次閱讀

    攝影機器人開源

    電子發燒友網站提供《光攝影機器人開源.zip》資料免費下載
    發表于 07-03 09:44 ?0次下載
    光<b class='flag-5'>攝影機</b>器人開源

    索尼發布數字電影攝影機新品CineAltaB

    全畫幅8K電影攝影機CineAltaB。新品延續CineAltaV 2色彩科學及專業操控,將精彩的影像呈現與高機動性能相結合,更緊湊、更輕巧、更智能,滿足從大銀幕電影、紀錄片到小團隊廣告片等多元化拍攝需求。索尼以革新技術賦予創作更多想象、推動影視制作業效能不斷提升。 ?
    的頭像 發表于 09-13 09:14 ?716次閱讀
    亚洲欧美日韩精品久久_久久精品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>