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

审核编辑:汤梓红

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

    关注

    2548

    文章

    50663

    浏览量

    751879
  • 麦克风
    +关注

    关注

    15

    文章

    632

    浏览量

    54765
  • Linux
    +关注

    关注

    87

    文章

    11224

    浏览量

    208897
  • 摄影机
    +关注

    关注

    0

    文章

    66

    浏览量

    10460
  • 树莓派
    +关注

    关注

    116

    文章

    1698

    浏览量

    105520

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

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

收藏 人收藏

    评论

    相关推荐

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

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

    qt源码树莓中的部署方法

    想要在嵌入设备中运行qt程序(其他的程序一样),要在嵌入设备中将程序运行所依赖的部署。网上部署方式千万种,例如直接将编译之后写入镜像,然后用这个镜像来安装
    发表于 12-24 06:44

    摄影机术语(一)

    摄影机术语(一) 抢拍 采访摄影(象)的方法之一; 故事影视片在特殊情况下的一
    发表于 04-12 10:42 625次阅读

    摄影机术语(二)

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

    摄影机术语(三)

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

    树莓gpio应用

    树莓现在越来越火,网上树莓的资料也越来越多。树莓源自英国,国外嵌入
    发表于 11-09 15:10 4187次阅读

    浅谈香蕉树莓的不同

    目前有许多人在学习嵌入开发,对于嵌入开发板也有了一定的了解,比如树莓、香蕉等。这些以水果称呼的嵌入
    发表于 10-30 16:09 2.6w次阅读

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

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

    树莓传感器的使用教程详细概述

    树莓现在越来越火,网上树莓的资料也越来越多。树莓源自英国,国外嵌入
    发表于 11-21 15:26 27次下载
    <b class='flag-5'>树莓</b><b class='flag-5'>派</b>传感器的使用教程详细概述

    摄像摄影机的声学防水透气膜对设备的性能有没有影响

    摄像摄影机声学防水透气膜主要形式为带背胶摄影机防水透声膜 ,带背胶摄像摄影机声学防水透气膜
    发表于 08-29 10:13 1608次阅读

    索尼全画幅电影摄影机FX3在京东开启预约

    2月23日晚,索尼电影摄影机系统新成员——全画幅电影摄影机FX3正式发布。据索尼介绍,机身紧凑、小巧轻便的FX3汇集了索尼在数字电影摄影机领域的技术优势,以及Alpha微单系统出色的成像技术,可以帮助视频创作者呈现具有电影质感的
    的头像 发表于 02-24 10:57 2381次阅读

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

    与虚幻引擎等实时图形系统相结合的略显传统的方法。 以这种方式进行的虚拟制作越来越受欢迎,技术进步也越来越大。虽然任何摄影机都可以使用“独立”风格的VP,但要将其发挥到专业水平确实需要正确处理好LED幕墙或绿屏,以及与之配套的相关设备。 很明显,
    的头像 发表于 03-25 17:02 1011次阅读

    Linux树莓开发之wiringPi树莓控制继电器

    wiringPi树莓的IO控制,使用C语言开发,提供了非常多的接口供使用,包括GPIO,中断,多线程,等。 在树莓
    发表于 05-04 11:10 7次下载
    Linux<b class='flag-5'>树莓</b><b class='flag-5'>派</b>开发之wiringPi<b class='flag-5'>库</b>,<b class='flag-5'>树莓</b><b class='flag-5'>派</b>控制继电器

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

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

    树莓和单片的优缺点是什么

    树莓(Raspberry Pi)和单片(Microcontroller)是两种广泛应用于电子项目和嵌入系统的硬件平台。它们各自具有独特的优缺点,适用于不同的应用场景。
    的头像 发表于 08-30 18:21 1446次阅读