2

カーネルをコンパイルし、USB カメラのサポートを追加した小さな busybox システムがあります。カメラをデバイスに接続すると、何らかの出力が得られ、/dev/video0 デバイスが取得されます。

usb 1-1: new high-speed USB device number 3 using orion-ehci
uvcvideo: Found UVC 1.00 device Webcam C170 (046d:082b)
input: Webcam C170 as /devices/platform/orion-ehci.0/usb1/1-1/1-1:1.0/input/input1

/ # ls -l /dev/video0
crw-rw----    1 0        0          81,   0 Mar  8 08:08 /dev/video0
/ # 

必要なすべてのライブラリを使用してarm用にopencv2.4を静的にコンパイルしましたが、コードのコンパイルでエラーは発生しません。

Mat frame;
VideoCapture capture(0);
if(!capture.isOpened()){
    printf("Cannot open camera\r\n");
    printf("%s\r\n", cvErrorStr(cvGetErrStatus()));
}

出力として私を与える:

Cannot open camera
No Error
/ # 

カメラは私のラップトップで正常に動作し、複数のカメラをすべて試しましたが、結果は同じでした。また、opencvを介してカメラを開くさまざまな方法を試しましたが、同じ結果が得られました。

busybox システムと opencv がカメラから読み取れるようにするにはどうすればよいですか?

4

1 に答える 1

1

V4L が欠落している可能性があります。V4L のサンプル コードを実行して調査します。プログラムがリンクされているすべてのライブラリがあることを ldd で確認しましたか?

于 2012-11-17T10:39:29.587 に答える