程序问答   发布时间:2022-06-02  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了OpenCV 2.4.4 Java-抓取网络摄像头图片/流(OSX)大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决OpenCV 2.4.4 Java-抓取网络摄像头图片/流(OSX)?

开发过程中遇到OpenCV 2.4.4 Java-抓取网络摄像头图片/流(OSX)的问题如何解决?下面主要结合日常开发的经验,给出你关于OpenCV 2.4.4 Java-抓取网络摄像头图片/流(OSX)的解决方法建议,希望对你解决OpenCV 2.4.4 Java-抓取网络摄像头图片/流(OSX)有所启发或帮助;

问题很简单,就是相机需要时间来初始化。我已经添加

Thread.sleep(1000);

VIDeoCapture camera = new VIDeoCapture(0);

解决方法

我是Stackoverflow和OpenCV编程领域的新手。我已经使用Java的OpenCV绑定(opencv.org官员,而不是JavaCV)进行了一些项目,例如通过ORB和SURF功能识别对象,使用图像。一切都没问题。现在,我将转向视频流中的对象识别。我想从摄像头中获取视频流并应用对象识别。我不是Java专家,所以我在OpenCV中找到了VideoCapture类,但无法从摄像机获取图片。

我正在OSX Mountain Lion中使用OpenCV 2.4.4绑定在Eclipse中运行我的项目。

控制台中的结果:

Hello,OpenCV
Camera OK?
Frame Obtained
Captured Frame Width 0
Invalid memory access of LOCATIOn 0x7fae00000000 rip=0x7fff8b4c5263

代码:

import org.opencv.core.Mat;
import org.opencv.highgui.Highgui;
import org.opencv.highgui.VideoCapture;

public class Webcam {

    public static void main (String args[]){

    System.out.println("Hello,OpenCV");
    // Load the native library.
    System.loadLibrary("opencv_java244");

    VideoCapture camera = new VideoCapture(0);
    camera.open(0); //USELEss
    if(!camera.isOpened()){
        System.out.println("Camera Error");
    }
    else{
        System.out.println("Camera OK?");
    }

    Mat frame = new Mat();

    //camera.grab();
    //System.out.println("Frame Grabbed");
    //camera.retrieve(framE);
    //System.out.println("Frame Decoded");

    camera.read(framE);
    System.out.println("Frame Obtained");

    /* No difference
    camera.release();
    */

    System.out.println("Captured Frame Width " + frame.width());

    Highgui.imwrite("camera.jpg",framE);
    System.out.println("OK");
    }
}

大佬总结

以上是大佬教程为你收集整理的OpenCV 2.4.4 Java-抓取网络摄像头图片/流(OSX)全部内容,希望文章能够帮你解决OpenCV 2.4.4 Java-抓取网络摄像头图片/流(OSX)所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。