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

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

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

樹莓派攝像頭模塊靜態(tài)圖像捕捉模式和設(shè)置

jf_9aVl32Dp ? 來源:Arm軟件開發(fā)者 ? 2023-07-03 14:39 ? 次閱讀

作者:David Plowman 2023年6月26日

本次#MagPiMonday,我們?yōu)槟鷰?a href="http://ttokpm.com/v/tag/481/" target="_blank">樹莓派攝像頭模塊靜態(tài)圖像捕捉模式和設(shè)置的深入指南。

高品質(zhì)攝像頭模塊采用手動對焦;新的攝像頭模塊3具有可通過軟件控制的自動對焦功能


在MagPi#129(https://magpi.raspberrypi.com/issues/129)中,我們介紹了libcamera-still,它允許我們捕捉靜止圖像。但它還有更多的選項來控制如何捕捉圖像,以及文件格式和可用的圖像編碼器。我們將在本教程中介紹這些特性?,F(xiàn)在,我們將繼續(xù)假設(shè)您的鍵盤和顯示器直接接入了您的樹莓派。

以不同分辨率拍攝圖像


默認情況下,libcamera-still 將以攝像頭支持的最大可用分辨率拍攝圖像。例如,對于HQ攝像頭,這意味著圖像大小為4056×3040像素。但是,使用--width和--height參數(shù)可以很容易地更改它。例如,如果您想拍攝1536×1024像素的圖像,則應使用:

libcamera-still --width 1536 --height 1024 -o smaller.jpg

樹莓派攝像頭模塊3提供自動對焦功能,使您能夠聚焦圖像的特定部分

圖像編碼器和文件格式


圖像通常以某種方式進行編碼(通常會進行壓縮,使其不那么大),然后保存為磁盤上的標準文件格式。

JPEG文件


libcamera-still使用的默認文件格式仍然是JPEG,因為它具有非常廣泛的支持,再加上有用的壓縮級別。通常,JPEG文件的擴展名是.jpg,或者有時是.JPEG,正如我們已經(jīng)看到的那樣。


JPEG是一種有損壓縮格式,這意味著加載JPEG文件的結(jié)果不再與您開始使用的圖像相同,盡管差異被安排為您最不會注意到的差異。您可以指定一個質(zhì)量因子來指示您想要的壓縮程度。在非常低的值下,您的圖像確實會惡化,但在非常高的值下JPEG過程在視覺上是無損的;也就是說,它真的會看起來和原始圖像一樣好。


質(zhì)量因子的范圍從1到99,如果你不給它指定一個,它會選擇值93,非正式地等同于“相當高的質(zhì)量”。要以不同的質(zhì)量級別保存JPEG,請使用-q(或等效的--quality)參數(shù),如下所示:

libcamera-still -q 80 -o test.jpg


嘗試使用10和50這樣的質(zhì)量值,看看你得到了什么!

PNG文件


PNG(或“Portable Network Graphic”)是另一種廣泛支持的文件和壓縮格式。PNG是一種無損壓縮格式,這意味著您可以保證恢復與開始時完全相同的圖像(與JPEG不同)。不利的一面是,PNG文件通常比JPEG文件大,而且它們更難創(chuàng)建,需要更長的時間。

要保存PNG文件,您需要告訴libcamera-still ,您希望使用-e或--encoder參數(shù)使用不同的編碼器,如下所示:

libcamera-still -e png -o test.png


請注意,必須指定-e選項才能獲得PNG文件——僅更改文件名是不夠的。PNG不支持質(zhì)量參數(shù)。

DNG文件


DNG(或“Digital NeGative”)文件與PNG文件截然不同。顧名思義,它們在某種程度上類似于我們在將其顯影成照片之前從膠片相機中獲得的“底片”。在我們的案例中,在樹莓派上的硬件將其“開發(fā)”為可視(JPEG或PNG)圖像之前,DNG文件存儲從圖像傳感器接收的原始數(shù)字。DNG文件與同一圖像的“開發(fā)”JPEG或PNG版本一起保存。要保存DNG文件,請使用-r(或--raw)參數(shù):

libcamera-still -r test.jpg


libcamera-still會自動將dng文件名中的.jpg替換為.dng,在這種情況下同時提供test.dng和test.jpg。

存在許多第三方軟件程序以交互方式“開發(fā)”這些DNG文件——這是一個相當復雜的過程,超出了本指南的范圍。

延時捕獲

延時捕捉是指我們每隔一段時間(可能是每分鐘、每小時或每一天)捕捉一張圖像,然后將它們重新組合成視頻,以更快的速度播放。libcamera-still已經(jīng)準備好了,可以直接捕獲我們需要的圖像。

樹莓派攝像頭模塊能夠捕捉各種不同格式的圖像,包括JPEG、PNG和DNG


我們需要引入——延時選項,我們將回顧我們之前看到的幾個選項。


-ttimeout。執(zhí)行捕獲的時間長度(以毫秒為單位)。在延時的情況下,libcamera-still會在這段總的時間內(nèi)運行捕獲。您可以傳遞值0,意思是“無限期運行”(您必須手動停止libcamera-still,例如按鍵盤上的CTRL+C)。

–timelapse.。每次延時捕獲之間的時間長度,同樣以毫秒為單位。

-o–output。輸出文件的名稱。對于延時拍攝,我們不能給所有圖像起相同的名字,所以我們使用了一種特殊的語法,其中包括一個圖像計數(shù)器。例如,-o capture_%04d.jpg表示所有文件都命名為“capture_”,后面跟著一個計數(shù)器,然后是.jpg。%04d指定計數(shù)器的格式,在這種情況下,0表示將前導零添加到數(shù)字上,4表示“使每個數(shù)字至少有4位”。這很有用,這樣列出您的圖像文件將按時間順序返回給您。

讓我們舉一個例子。

 libcamera-still -o capture_%04d.jpg
--timelapse 5000 -t 30000 --width 1024
--height 768

這將運行30秒,每5秒捕獲一張圖像,它們將被命名為capture_0000.jpg到capture_0004.jpg。

請注意,我們是如何將圖像的分辨率降低到更適合我們想要創(chuàng)建的最終視頻的分辨率的。

將圖像組合成視頻

有一個叫做FFmpeg的方便工具,它能夠?qū)㈧o止圖像序列轉(zhuǎn)換為視頻。我們可以這樣使用它:

ffmpeg -r 2 -i capture_%04d.jpg video.mp4

請注意,我們?nèi)绾问褂锰厥獾?語法來格式化輸入文件的名稱,方法與我們對 libcamera-still所做的相同。-r參數(shù)給出輸出視頻的幀速率,這里為每秒2幀。我們選擇了MP4格式的輸出文件,并將其命名為video.MP4。

FFmpeg是一個非常通用的工具,我們建議您學習一下。

按下按鍵時捕獲

我們也可以根據(jù)事件或按鍵進行拍攝,而不是定期拍攝。有幾個新的選項參數(shù)需要學習。

–datetime。使用這個(而不是-o)會以當前日期和時間命名輸出文件。格式為MMDDhhmmss.jpg,其中MM和DD是月份和日期編號,hh、MM和ss是小時、分鐘和秒。

-k–keypress。按下鍵盤上的ENTER鍵時拍攝圖像。鍵入X并按ENTER鍵退出。

要使用的命令如下:

libcamera-still -t 0 --keypress --datetime


在這里,我們無限期地運行捕獲,所以我們必須鍵入X,然后鍵入ENTER才能退出(或按CTRL+C)。文件的名稱類似于0405102742.jpg,意思是“4月5日上午10:27,42秒”。

響應信號捕獲


對于那些熟悉Linux信號(signals)的人來說,按下按鍵的另一種選擇是發(fā)送信號。要做到這一點,只需使用-s--signal而不是-k(或--keypress)。


要向libcamera-still發(fā)送捕獲信號,請首先啟動它,然后在另一個終端窗口中鍵入以下內(nèi)容:

kill -SIGUSR1 `pidof libcamera-still`


您可以使用以下命令強制libcamera-still退出:

kill -SIGUSR2 `pidof libcamera-still`

HDR(高動態(tài)范圍)可以在攝像頭模塊3上使能,以使您拍攝的圖像具有更高的對比度

自動對焦和高動態(tài)范圍在撰寫本文時,僅樹莓派攝像頭模塊3支持自動對焦和高動態(tài)范圍成像。

自動對焦


使用攝像頭模塊3時,會在連續(xù)模式下自動啟用自動對焦。這意味著攝像頭鏡頭將在必要時移動,以在圖像的中心部分保持最佳焦點,這可能是大多數(shù)用戶在大多數(shù)時候想要的。


還可以手動關(guān)閉自動對焦并設(shè)置鏡頭的對焦位置。要做到這一點,請使用--lens-position參數(shù),并傳遞一個以屈光度測量的值,即焦距的倒數(shù)。因此,在大約0.1米的非常近的距離處聚焦時傳入值10(即1/0.1)。若要將焦點集中在無窮大,請傳入0(也就是 1/無窮大)。您也可以傳入非整數(shù)值。例如:

libcamera-still --lens-position 0 -o infinity.jpg


…將焦點位置設(shè)置為無窮遠,并且不會再次移動鏡頭。

高動態(tài)范圍成像

攝像頭模塊3支持高動態(tài)范圍(HDR)成像。要使用它,請在命令行中指定--hdr選項,例如:

libcamera-still --hdr -o hdr.jpg


請注意,非HDR捕獲可以以4608×2592像素的最大分辨率執(zhí)行,但由于支持HDR所需傳感器的特殊性質(zhì),HDR捕獲僅限于2304×1296像素(正好是非HDR模式寬度和高度的一半)。

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

    關(guān)注

    7

    文章

    2655

    瀏覽量

    47292
  • 攝像頭
    +關(guān)注

    關(guān)注

    59

    文章

    4793

    瀏覽量

    95274
  • 樹莓派
    +關(guān)注

    關(guān)注

    116

    文章

    1688

    瀏覽量

    105456

原文標題:樹莓派攝像頭模塊:靜態(tài)圖像捕捉

文章出處:【微信號:Arm軟件開發(fā)者,微信公眾號:Arm軟件開發(fā)者】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    樹莓攝像頭問題

    請問樹莓安裝好官方的攝像頭之后,測試攝像頭時顯示mmal: No data received from sensor. Check all connections, includin
    發(fā)表于 08-08 22:47

    樹莓的sci攝像頭motion怎么用?

    樹莓的sci攝像頭motion怎么用
    發(fā)表于 09-17 22:48

    【新手求助】關(guān)于樹莓+opencv+攝像頭圖像處理的問題?

    使用樹莓3B,原裝攝像頭800W像素,c++和opencv。對亮斑進行拍攝,并求取光斑重心。怎么能有效提高精度和速度?流程是這樣的:opencv控制攝像頭拍照;提取單通道像素值;op
    發(fā)表于 11-09 08:57

    為什么樹莓安裝攝像頭成功后/dev/中找不到video設(shè)備?

    攝像頭樹莓自帶的CSI攝像頭,安裝好攝像頭后聯(lián)網(wǎng)輸入sudo apt-get update 和sudo apt-get upgrade.
    發(fā)表于 08-18 19:30

    樹莓攝像頭

    樹莓使用專用攝像頭是遇到了圖片上的問題:在putty上輸入代碼 raspistill -o keychain.jpg -t 2000回車之后,putty就不在出現(xiàn)命令 pi@raspberrypi:~ $ 也不運行程序
    發(fā)表于 10-22 17:57

    請問樹莓官方的攝像頭能進行實時監(jiān)控嗎?

    請問樹莓官方的攝像頭不能進行實時監(jiān)控嗎!是不是實現(xiàn)實時監(jiān)控只能用USB攝像頭??!
    發(fā)表于 11-11 05:55

    【大聯(lián)大友尚安森美半導體感光芯片USB雙目攝像頭模組試用體驗】如何固化樹莓中的攝像頭索引

    只能裝驅(qū)動,但不能顯示圖像(例如我拿到的IR攝像頭),又希望整體調(diào)試,并不是很方便,于是在樹莓中對不同攝像頭分別創(chuàng)建索引。方法如下:1、查
    發(fā)表于 09-23 13:46

    如何用樹莓派來連接攝像頭

    比較詳細的原理,但沒有代碼示例用ov7670做的師兄的指導:我們需要的是用樹莓派來連接攝像頭,樹莓再連接stm32,stm32主要工作就是給??档?b class='flag-5'>
    發(fā)表于 08-05 07:40

    你需要了解樹莓攝像頭的使用

    樹莓的配件還是比較豐富的,其中攝像頭更是最長用的配件之一了,做拍照,視頻,圖像識別等等都會用到。樹莓
    發(fā)表于 04-19 16:00 ?2.7w次閱讀

    樹莓攝像頭應該如何啟動詳細教程免費下載

    本文檔的主要內(nèi)容詳細介紹的是使用樹莓設(shè)計智能小車的樹莓攝像頭應該如何啟動詳細教程免費下載。
    發(fā)表于 06-24 08:00 ?9次下載

    微雪電子樹莓攝像頭專用多路FPC線簡介

    樹莓攝像頭 專用多路FFC線 一分二專用FFC線 手動或自動(通過GPIO口)切換不同攝像頭工作 支持全系列樹莓
    的頭像 發(fā)表于 01-10 09:10 ?2300次閱讀
    微雪電子<b class='flag-5'>樹莓</b><b class='flag-5'>派</b><b class='flag-5'>攝像頭</b>專用多路FPC線簡介

    微雪電子 樹莓攝像頭介紹

    樹莓攝像頭D型OV5647-500萬像素 兼容樹莓任何版本 性價比高,對角視場角(FOV):66度 型號 RPi Camera (D)
    的頭像 發(fā)表于 01-10 09:21 ?2540次閱讀
    微雪電子 <b class='flag-5'>樹莓</b><b class='flag-5'>派</b><b class='flag-5'>攝像頭</b>介紹

    微雪電子樹莓攝像頭簡介

    樹莓攝像頭B型OV5647-500萬像素 可調(diào)焦 兼容樹莓任何版本,對角視場角(FOV):60.6度 型號 RPi Camera (B)
    的頭像 發(fā)表于 01-10 09:29 ?4406次閱讀
    微雪電子<b class='flag-5'>樹莓</b><b class='flag-5'>派</b><b class='flag-5'>攝像頭</b>簡介

    基于樹莓的可180度旋轉(zhuǎn)攝像頭

    在比賽直播或一些需要實時追蹤目標物體的拍攝場合,有一臺智能化的攝像設(shè)備將是非常有用的。本教程將簡單說明如何用樹莓、攝像頭和機械設(shè)備來 DIY 一套具有180度跟蹤拍攝小球功能的智能
    發(fā)表于 12-21 11:04 ?1次下載

    基于樹莓的實時直播攝像頭

    方案介紹這個項目要介紹的是一臺可以做直播的攝像頭,它實際上是將攝像頭樹莓 Zero W 用一個精巧的3D打印外殼封裝在了一起,支持熱點接入、能夠在任何手機或平板電腦上輕松連接到
    發(fā)表于 12-26 16:34 ?1次下載