首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在树莓派中运行opencv4nodejs VideoCapture

如何在树莓派中运行opencv4nodejs VideoCapture
EN

Stack Overflow用户
提问于 2018-06-05 06:45:59
回答 3查看 1.4K关注 0票数 0

我已经将opencv4nodejs库添加到我的raspberry pi包中,我正在尝试访问Picam2摄像机,但我一直收到错误消息" error : VideoCapture::New - failed to open capture“。我正在运行的脚本如下:

代码语言:javascript
复制
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部署镜像。

EN

回答 3

Stack Overflow用户

发布于 2019-01-08 06:24:09

你试过跑步吗?

代码语言:javascript
复制
sudo modprobe bcm2835-v4l2

在你的脚本运行之前在pi上?否则,opencv将无法正确识别您的picam。

票数 2
EN

Stack Overflow用户

发布于 2019-01-11 23:16:40

下面是我每次启动pi时运行的整洁命令。

代码语言:javascript
复制
 #!/bin/bash
 cd 
 cd /dev
 sudo modprobe bcm2835-v4l2
 v4l2-ctl --list-devices
票数 2
EN

Stack Overflow用户

发布于 2019-01-28 03:36:26

我遵循@MForMarlon@z Eyeland的方法,在每次启动pi时自动设置它。

但是,running a script on boot的说明对我不起作用,所以这里是我的组合解决方案:

1)在根目录下创建脚本:nano ~/setuppicamera.sh

代码语言:javascript
复制
#!/bin/bash
sudo modprobe bcm2835-v4l2

依次按ctrl-xyenter

  • 保存脚本

2)使脚本可执行:chmod +x ~/setuppicamera.sh

3)将脚本添加到桌面自动启动文件中:

打开autostart文件:在文件上方添加一行sudo nano ~/.config/lxsession/LXDE-pi/autostart

  • Create,然后添加@/home/pi/setuppicamera.sh

  • Save @xscreensaver -no-splashctrl-xy@/home/pi/setuppicamera.sh

  • Save enter

现在,每次重新启动时,您都应该能够访问源0处的picamera。

要测试它是否工作,请使用sudo reboot重新启动您的pi,然后运行v4l2-ctl --list-devices。您应该会看到如下所示的输出:

代码语言:javascript
复制
mmal service 16.1 (platform:bcm2835-v4l2):
    /dev/video0

如果你看到的是Failed to open /dev/video0: No such file or directory,那肯定是出了问题。请仔细检查以上步骤,然后重试。请注意,必须在引导时连接picamera,此脚本才能正常工作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50689761

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档