Node.js 如何在raspberry pi中运行opencv4nodejs视频捕获
我已经将opencv4nodejs库添加到我的raspberry pi包中,我正在尝试访问picam 2摄像机,但我不断收到错误“错误:VideoCapture::New-未能打开捕获”。我正在运行的脚本如下所示:Node.js 如何在raspberry pi中运行opencv4nodejs视频捕获,node.js,opencv,raspberry-pi,Node.js,Opencv,Raspberry Pi,我已经将opencv4nodejs库添加到我的raspberry pi包中,我正在尝试访问picam 2摄像机,但我不断收到错误“错误:VideoCapture::New-未能打开捕获”。我正在运行的脚本如下所示: import * as cv from 'opencv4nodejs' async function main() { const wCap = new cv.VideoCapture(0); const intvl = setInterval(() => {
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()
FWIW,我正在raspberry pi 3b+上运行这个内部docker,使用resin.io部署映像。您试过运行吗
sudo modprobe bcm2835-v4l2
在脚本运行之前在pi上运行?否则,opencv将无法正确识别您的picam。您试过跑步吗
sudo modprobe bcm2835-v4l2
在脚本运行之前在pi上运行?否则,opencv将无法正确识别您的picam。这里是每次启动pi时运行的整洁命令
#!/bin/bash
cd
cd /dev
sudo modprobe bcm2835-v4l2
v4l2-ctl --list-devices
这里是每次启动pi时运行的整洁命令
#!/bin/bash
cd
cd /dev
sudo modprobe bcm2835-v4l2
v4l2-ctl --list-devices
我遵循和的方法,并在每次pi启动时自动设置它 但是,的说明不适用于我,因此以下是我的组合解决方案: 1) 在根目录下创建脚本:
nano~/setuppicamera.sh
#!/bin/bash
sudo modprobe bcm2835-v4l2
- 按ctrl-x键保存脚本,然后按y键,然后按enter键保存脚本
chmod+x~/setuppicamera.sh
#!/bin/bash
sudo modprobe bcm2835-v4l2
3) 将脚本添加到桌面自动启动文件:
- 打开自动启动文件:
sudo nano~/.config/lxsession/LXDE pi/autostart
- 在
上方新建一行,并添加@xscreensaver-no splash
@/home/pi/setuppicamera.sh
- 保存文件:
然后ctrl-x
然后y
enter
sudo reboot
重新启动pi,然后运行v4l2 ctl--list devices
。您应该看到以下几行的输出:
mmal service 16.1 (platform:bcm2835-v4l2):
/dev/video0
如果您看到
未能打开/dev/video0:没有这样的文件或目录
则出现了问题。请仔细检查上述步骤,然后重试。请注意,您的picamera必须在启动时连接,此脚本才能正常工作。我遵循和的方法,并在每次pi启动时自动设置
但是,的说明不适用于我,因此以下是我的组合解决方案:
1) 在根目录下创建脚本:nano~/setuppicamera.sh
#!/bin/bash
sudo modprobe bcm2835-v4l2
- 按ctrl-x键保存脚本,然后按y键,然后按enter键保存脚本
chmod+x~/setuppicamera.sh
#!/bin/bash
sudo modprobe bcm2835-v4l2
3) 将脚本添加到桌面自动启动文件:
- 打开自动启动文件:
sudo nano~/.config/lxsession/LXDE pi/autostart
- 在
上方新建一行,并添加@xscreensaver-no splash
@/home/pi/setuppicamera.sh
- 保存文件:
然后ctrl-x
然后y
enter
sudo reboot
重新启动pi,然后运行v4l2 ctl--list devices
。您应该看到以下几行的输出:
mmal service 16.1 (platform:bcm2835-v4l2):
/dev/video0
如果您看到
未能打开/dev/video0:没有这样的文件或目录
则出现了问题。请仔细检查上述步骤,然后重试。请注意,您的picamera必须在启动时连接,此脚本才能正常工作。此外,如果您希望Pi在每次启动时自动运行脚本,可以按照此处的说明操作:此外,如果您希望Pi在每次启动时自动运行脚本,可以按照此处的说明操作: