背景
在使用树莓派开发板使用摄像头时,调用libcamera命令用摄像头进行拍摄窗口预览:
libcamera-hello
出现报错
ERROR: the system appears to be configured for the legacy camera stack
原因
这是由于在最新的树莓派系统中已经从基于专有 Broadcom GPU 代码的传统相机软件堆栈过渡到基于libcamera的开源堆栈,也就说未来会使用libcamera来替代。libcamera是一个旨在直接从Linux操作系统支持复杂的相机系统的软件库。对于Raspberry Pi,它使我们能够直接从在ARM处理器上运行的开源代码驱动相机系统。
解决方法
使用libcamera需要在配置中根据自己摄像头不同的模块添加dtoverlay字段到/boot/config.txt 文件。
dtoverlay字段需要与摄像头的型号对应,其对应关系需要参照下表:
比如我的摄像头型号Raspberry Pi Camera Module 2所使用的感光芯片是IMX219,则dtoverlay=imx219。
打开config.txt并修改
成功退出后,重启开发板使设置生效。