树莓派3中没有/dev/video0的解决方法(使用OpenCV编程调用树莓派摄像头的方法)...

一、问题

  使用下列方法调用OpenCV编程调用树莓派摄像头时总是失败,提示调用Grabber的start()时失败。

import org.bytedeco.javacpp.opencv_core;
import org.bytedeco.javacv.*;

public class Main {
    public static void main(String[] args) throws InterruptedException, FrameGrabber.Exception {
        FrameGrabber grabber = new FFmpegFrameGrabber("/dev/video0");
        //OpenCVFrameGrabber grabber = new OpenCVFrameGrabber(0);
        grabber.setImageWidth(640);
        grabber.setImageHeight(480);
        grabber.start();   //开始获取摄像头数据
        OpenCVFrameConverter.ToMat convertToMat = new OpenCVFrameConverter.ToMat();
        while (true) {
            Frame frame = grabber.grab();
            opencv_core.Mat mat = convertToMat.convert(frame);
            if (mat.empty()) {
                System.out.println("mat is empty.");
                break;
            } else {
                System.out.println("Heith:" + frame.imageHeight + " x Width:" + frame.imageWidth);
                Thread.sleep(30);
            }
        }
        grabber.stop();
        grabber.close();
        grabber.release();
    }
}

  二、原因

  原因在于OpenCV在调用Linux中的摄像头时,没找到/dev/video0这个设备,因此需要添加一个简单的配置来搞定。

  三、解决方案

  找到下列文件:/etc/modules-load.d/modules.conf

vim /etc/modules-load.d/modules.conf

  在末尾添加一行记录:

bcm2835-v4l2 

  如图:

  重启设备!!

 

转载于:https://www.cnblogs.com/songxingzhu/p/9687877.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值