1

こんにちは、Derek Molloy のチュートリアルに従っています。

http://derekmolloy.ie/beaglebone/beaglebone-video-capture-and-image-processing-on-embedded-linux-using-opencv/#comment-30209

Linux UVC ドライバーでサポートされている Logitech c310 Web カメラを使用します。

root@beaglebone:/boneCV# v4l2-ctl --all
Driver Info (not using libv4l2):
        Driver name   : uvcvideo
        Card type     : UVC Camera (046d:081b)
        Bus info      : usb-musb-hdrc.1.auto-1
        Driver version: 3.8.13
        Capabilities  : 0x84000001
                Video Capture
                Streaming
Format Video Capture:
        Width/Height  : 640/480
        Pixel Format  : 'YUYV'
        Field         : None
        Bytes per Line: 1280
        Size Image    : 614400
        Colorspace    : SRGB
Crop Capability Video Capture:
        Bounds      : Left 0, Top 0, Width 640, Height 480
        Default     : Left 0, Top 0, Width 640, Height 480
        Pixel Aspect: 1/1
Video input : 0 (Camera 1: ok)
Streaming Parameters Video Capture:
        Capabilities     : timeperframe
        Frames per second: 30.000 (30/1)
        Read buffers     : 0
Priority: 2

したがって、Beagleboard によって問題なく読み取られることがわかります。ビデオをキャプチャしようとすると、次のエラーが表示されます。

root@beaglebone:/boneCV# ./capture -f -c 600 -o > output.raw
Force Format 1
select timeout

他のスレッドを見ると、人々はこの質問に答える方法を知らないようです。このプロジェクトの経験がある人なら誰でも助けてくれますか?

4

2 に答える 2

1

YUYV の画像サイズと MJPEG の画像サイズを比較すると、前者が後者よりもはるかに大きいことがわかります。BBB の USB ポートの帯域幅は限られているため、カメラを YUYV 形式で操作することはできません。MJPEG は、圧縮されたビデオ ストリームを出力します。opencv のバージョンが異なると、v4l2-ctlコマンドで設定した解像度が変更される傾向があるため、boneCV コードで解像度を変更する必要があります。C ++でどのように行われたかはわかりませんが、Pythonでは、opencvコードでカメラの解像度を変更するを確認してください。Matthew によると、彼がテストした帯域幅制限は、帯域幅が 13.2MB/s であることがわかりました。

于 2016-05-26T12:04:59.013 に答える
-1

さて、問題は解決したと言えます。数時間後にカメラを再起動して再試行すると、魔法のように機能するようです。

私が変更した唯一のことは、キャプチャ呼び出しをよりシンプルにすることです。

./capture -o > output.raw

これを入力しながらffmpegをインストールしているので、まだrawファイルをmpeg4に変換していませんが、静止画像の取得が機能していることを確認できます。output.raw のファイルサイズは、実際にビデオもキャプチャしていることの確認です。誰かがこれを見つけて立ち往生している場合は、喜んでお手伝いします。

奇妙なことに、最初に画像グラバー プログラムを使用した後にのみ、ビデオをキャプチャするようです。したがって、グラバーが初期化していて、キャプチャで発生していないことがあるはずです。

更新: YUYV ビデオ モードが機能していないことがわかりましたが、mjpeg は機能しており、mjpeg モードを初期化したグラバー モードに入れているため、機能しました。YUYV がまだ機能しない理由がわかりません。

于 2015-06-17T20:38:53.150 に答える