树莓派安装Arch linux,opencv无法调用官方摄像头

添加摄像头:

在/boot/config.txt文件添加:

start_file=start_x.elf
fixup_file=fixup_x.dat
disable_camera_led=1

重启树莓派。

opencv调用报错:

错误:

Error: Assertion failed (scn == 3 || scn == 4) in cvtColor, file /build/opencv/src/opencv-3.4.1/modules/imgproc/src/color.cpp, line 11147

cv2.error: OpenCV(3.4.1) /build/opencv/src/opencv-3.4.1/modules/imgproc/src/color.cpp:11147: error: (-215) scn == 3 || scn == 4 in function cvtColor

原因:树莓派官方摄像头插入后没有/dev/video0节点,这就导致无法直接用opencv调用,树莓派中的camera module是放在/boot/目录下以固件的形式加载的,不是一个标准的v4l2的摄像头ko驱动,所以加载起来之后会找不到/dev/video0的设备节点。这是因为这个驱动是在底层的,v4l2这个驱动框架还没有加载,所以要在/etc/modules-load.d/raspberrypi.conf中添加 bcm2835-v4l2 摄像头模块

树莓派Arch linux 系统音频 摄像头模块在/lib/modules/4.14.50-2-ARCH/kernel/drivers/staging/vc04_

services/ 目录下面

将 bcm2835-v4l2 (注意这里是4l2,不是412)模块添加到 /etc/modules-load.d/raspberrypi.conf 之后,重启树莓派之后便可以在/dev 目录下面查看到video设备了,然后使用opencv调用摄像头了

你可能感兴趣的:(图像处理,python,树莓派,opencv3)