2

この時点で、私は認識フォームに取り組みました。私のコンピュータのカメラでは完璧ですが、ネットワーク上のカメラでテストしたいと思います。私はJavaCVを使用しています(OpenCVはJavaに適用されます)。

これは私のコードです:

public static void main(String[] args) throws Exception {

    OpenCVFrameGrabber grabber = new OpenCVFrameGrabber("http://192.168.1.210:5500/snapshot.cgi?user=admin&pwd=123456"); 
    grabber.setFormat("mjpeg");
    grabber.start();
    for (int k=0; k<20000; k++){
        System.out.print(k);
    }
    IplImage frame = grabber.grab();
    CanvasFrame canvasFrame = new CanvasFrame("Camera");
    canvasFrame.setCanvasSize(frame.width(), frame.height());
    while (canvasFrame.isVisible() && (frame = grabber.grab()) != null) {
        canvasFrame.showImage(frame);
    }
    grabber.stop();
    canvasFrame.dispose();
    System.exit(0);
}

そして、私はエラーがありますが、私は理解していません。

スレッド「メイン」com.googlecode.javacv.FrameGrabber$Exception の例外: cvCreateFileCapture() エラー: カメラ キャプチャを作成できませんでした。com.googlecode.javacv.OpenCVFrameGrabber.start(OpenCVFrameGrabber.java:171) で Test.FrameRecorderTest.main(FrameRecorderTest.java:12) 警告: コーデック パラメータが見つかりませんでした (../../modules/highgui/src/ cap_ffmpeg_impl.hpp:375)

最初は、カメラの写真を撮るためのアドレスだと思っていましたが、Mozilla/IE でテストしたところ、画像を取得できました。なので住所は大丈夫だと思います。そして、ビデオで住所を変更すればOKです。私は思う... たぶん、ビデオではなくカメラで写真を撮っているからだと思います..だと思います... これなら、ビデオと写真のどちらかを選択できますか?


更新: メソッドを変更したので、問題ありません。動画用のコードで写真を撮ったからだと思います。

package Test;

import java.awt.image.BufferedImage;
import java.io.IOException;
import java.io.InputStream;
import java.net.URL;
import javax.imageio.ImageIO;
import com.googlecode.javacv.CanvasFrame;
public class TestconnectionCamera {

    /**
     * @param args
     * @throws IOException 
     */
    public static void main(String[] args) throws IOException {
        CanvasFrame CamWindow = new CanvasFrame("Camera");

        String Cam1Jpeg_url = "http://192.168.1.210:5500/snapshot.cgi?user=admin&pwd=123456";
        URL url = new URL(Cam1Jpeg_url);

        while(true){
        InputStream is = url.openStream();
        BufferedImage image = ImageIO.read(is);
        CamWindow.showImage(image);
        is.close();
        }
    }
}
4

0 に答える 0