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的参数还非常多,例如可以用串流方式输出视讯画面,或设定以时间为单位把原本该连续录制的图像文件案自动切割、编号储存,更多参数有待创客们亲自去尝试、摸索、体验。

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 传感器
    +关注

    关注

    2526

    文章

    48093

    浏览量

    740051
  • 麦克风
    +关注

    关注

    14

    文章

    596

    浏览量

    54195
  • Linux
    +关注

    关注

    87

    文章

    10990

    浏览量

    206734
  • 摄影机
    +关注

    关注

    0

    文章

    60

    浏览量

    10278
  • 树莓派
    +关注

    关注

    113

    文章

    1639

    浏览量

    104740

原文标题:用libcamera函式库操控树莓派摄影机

文章出处:【微信号:易心Microbit编程,微信公众号:易心Microbit编程】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    大联大诠鼎集团推出OTUS(欧特斯)鱼眼校正的网络摄影机及全景式运动摄影机整体解决方案

     2015年8月18日,致力于亚太地区市场的领先半导体元器件分销商---大联大控股宣布,其旗下诠鼎推出OTUS(欧特斯)自带鱼眼校正功能和完整ISP的网络摄影机及运动摄影机整体解决方案
    发表于 08-18 13:58 1226次阅读

    树莓延时摄影项目分享(带红外夜视)

    树莓摄影摄像
    老刘玩机
    发布于 :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 601次阅读

    摄影机术语(二)

    摄影机术语(二) 线锁定同步 线锁定同步(LINE LOCK)是一种利用交流电源来锁定摄像机场同步脉冲的一种同步
    发表于 04-12 10:49 646次阅读

    摄影机术语(三)

    摄影机术语(三) 感光度 表示感光快慢的数值。在规定的显影条件下,测定感光材料达到一定密度值所需的曝
    发表于 04-12 11:13 598次阅读

    欧度宣布与RED数字摄影机达成战略合作

    年初,欧度宣布与专业数字摄影机的领导品牌——RED数字摄影机达成战略合作。
    的头像 发表于 07-10 14:10 2494次阅读

    虚拟拍摄对摄影机有什么要求?

    虚拟制作对许多不同的人来说意味着许多不同的东西,它涵盖了从远程制作到摄影机内VFX(特效)和摄影的方方面面。例如《曼达洛人 The Mandalorian》的VFX,以及使用绿屏并将摄影机运动跟踪
    的头像 发表于 03-25 17:02 455次阅读

    摄影机器人开源

    电子发烧友网站提供《光摄影机器人开源.zip》资料免费下载
    发表于 07-03 09:44 0次下载
    光<b class='flag-5'>摄影机</b>器人开源

    索尼发布数字电影摄影机新品CineAltaB

    全画幅8K电影摄影机CineAltaB。新品延续CineAltaV 2色彩科学及专业操控,将精彩的影像呈现与高机动性能相结合,更紧凑、更轻巧、更智能,满足从大银幕电影、纪录片到小团队广告片等多元化拍摄需求。索尼以革新技术赋予创作更多想象、推动影视制作业效能不断提升。  
    的头像 发表于 09-13 09:14 651次阅读