我已经将opencv4nodejs库添加到我的raspberry pi包中,我正在尝试访问Picam2摄像机,但我一直收到错误消息" error : VideoCapture::New - failed to open capture“。我正在运行的脚本如下:
import * as cv from 'opencv4nodejs'
async function main() {
const wCap = new cv.VideoCapture(0);
const intvl = setInterval(() => {
let frame = wCap.read();
// loop back to start on end of stream reached
if (frame.empty) {
wCap.reset();
frame = wCap.read();
}
console.log(frame);
}, 0);
}
main()顺便说一下,我在一个树莓派3b+上运行这个内部docker,使用resin.io部署镜像。
发布于 2019-01-08 06:24:09
你试过跑步吗?
sudo modprobe bcm2835-v4l2在你的脚本运行之前在pi上?否则,opencv将无法正确识别您的picam。
发布于 2019-01-11 23:16:40
下面是我每次启动pi时运行的整洁命令。
#!/bin/bash
cd
cd /dev
sudo modprobe bcm2835-v4l2
v4l2-ctl --list-devices发布于 2019-01-28 03:36:26
我遵循@MForMarlon和@z Eyeland的方法,在每次启动pi时自动设置它。
但是,running a script on boot的说明对我不起作用,所以这里是我的组合解决方案:
1)在根目录下创建脚本:nano ~/setuppicamera.sh
#!/bin/bash
sudo modprobe bcm2835-v4l2依次按ctrl-x、y和enter,
2)使脚本可执行:chmod +x ~/setuppicamera.sh
3)将脚本添加到桌面自动启动文件中:
打开autostart文件:在文件上方添加一行sudo nano ~/.config/lxsession/LXDE-pi/autostart
@/home/pi/setuppicamera.sh
@xscreensaver -no-splash:ctrl-x,y,@/home/pi/setuppicamera.sh
enter现在,每次重新启动时,您都应该能够访问源0处的picamera。
要测试它是否工作,请使用sudo reboot重新启动您的pi,然后运行v4l2-ctl --list-devices。您应该会看到如下所示的输出:
mmal service 16.1 (platform:bcm2835-v4l2):
/dev/video0如果你看到的是Failed to open /dev/video0: No such file or directory,那肯定是出了问题。请仔细检查以上步骤,然后重试。请注意,必须在引导时连接picamera,此脚本才能正常工作。
https://stackoverflow.com/questions/50689761
复制相似问题