sudoapt-getinstall libssl-dev
# OpenCV:# OpenCV is used within the example applications as a matter of convenience.# OpenCV is not required by the {{book.standard.productNameSdk}}# GStreamer:# gstreamer development libraries are required to compile and link the# example_camera_viewer example application. For more information,# see the GStreamer installation documentation for your# (Debian-based) system.
外部カメラからのリアルタイムの画像キャプチャは GStreamer 、 Linux for Live Sense SDK と Multimedia Framework によって提供されます。 前述のよう に、example_camera_viewer.cppサンプルアプリケーションを実行するには、GStreamer開発ライブラリおよびヘッダーファイルが必要です。 詳細について GStreamer は、ご利用の (Debian-Based ) システムに適したインストールドキュメントを参照してください。
NVIDIA Jetson プラットフォームで Linux for Live Sense SDK を実行している場合 GStreamer 、サンプルプログラムは NVIDIA のハードウェアアクセラレーションライブラリおよびデバイスドライバを対象としています。
sudo apt-get install v4l-utils
# List Devices and Formats
v4l2-ctl --list-devices --list-formats
# Show the Driver Info
v4l2-ctl -d /dev/video0 -D
v4l2-ctl -d 0 -D
# List Formats and Resolutions for a Device
v4l2-ctl --list-formats-ext --device /dev/video0
v4l2でサポートデバイスを使用した stdout の例を示します /dev/video2
$ ./example_camera_viewer
2020-11-02 11:06:58.649 [INFO ] [gstreamer] - initialized gstreamer, version 1.14.5.0
2020-11-02 11:06:58.649 [INFO ] [gstreamer] - GstCamera: attempting to create device v4l2:///dev/video2
2020-11-02 11:06:59.582 [INFO ] [gstreamer] - GstCamera pipeline string:
2020-11-02 11:06:59.582 [INFO ] [gstreamer] - v4l2src device=/dev/video2 ! video/x-raw, format=(string)YUY2, width=(int)640, height=(int)360 ! videoconvert ! video/x-raw, format=(string)RGB, width=(int)640, height=(int)360 ! appsink name=mysink
2020-11-02 11:06:59.587 [INFO ] [gstreamer] - GstCamera successfully created device v4l2:///dev/video2
2020-11-02 11:06:59.587 [INFO ] [camera-viewer] - Successfully initialized camera device (640x360)
2020-11-02 11:06:59.587 [INFO ] [gstreamer] - opening GstCamera for streaming, transitioning pipeline to GST_STATE_PLAYING
2020-11-02 11:06:59.587 [INFO ] [gstreamer] - gstreamer changed state from NULL to READY ==> mysink
2020-11-02 11:06:59.587 [INFO ] [gstreamer] - gstreamer changed state from NULL to READY ==> capsfilter1
2020-11-02 11:06:59.587 [INFO ] [gstreamer] - gstreamer changed state from NULL to READY ==> videoconvert0
2020-11-02 11:06:59.587 [INFO ] [gstreamer] - gstreamer changed state from NULL to READY ==> capsfilter0
2020-11-02 11:06:59.587 [INFO ] [gstreamer] - gstreamer changed state from NULL to READY ==> v4l2src0
2020-11-02 11:06:59.587 [INFO ] [gstreamer] - gstreamer changed state from NULL to READY ==> pipeline0
2020-11-02 11:06:59.587 [INFO ] [gstreamer] - gstreamer changed state from READY to PAUSED ==> capsfilter1
2020-11-02 11:06:59.587 [INFO ] [gstreamer] - gstreamer changed state from READY to PAUSED ==> videoconvert0
2020-11-02 11:06:59.587 [INFO ] [gstreamer] - gstreamer changed state from READY to PAUSED ==> capsfilter0
2020-11-02 11:06:59.587 [INFO ] [gstreamer] - gstreamer stream status CREATE ==> src
2020-11-02 11:06:59.587 [INFO ] [gstreamer] - gstreamer changed state from READY to PAUSED ==> v4l2src0
2020-11-02 11:06:59.587 [INFO ] [gstreamer] - gstreamer changed state from READY to PAUSED ==> pipeline0
2020-11-02 11:06:59.587 [INFO ] [gstreamer] - gstreamer changed state from PAUSED to PLAYING ==> capsfilter1
2020-11-02 11:06:59.587 [INFO ] [gstreamer] - gstreamer changed state from PAUSED to PLAYING ==> videoconvert0
2020-11-02 11:06:59.587 [INFO ] [gstreamer] - gstreamer changed state from PAUSED to PLAYING ==> capsfilter0
2020-11-02 11:06:59.587 [INFO ] [gstreamer] - gstreamer changed state from PAUSED to PLAYING ==> v4l2src0
2020-11-02 11:06:59.587 [INFO ] [gstreamer] - gstreamer stream status ENTER ==> src
2020-11-02 11:06:59.687 [INFO ] [camera-viewer] - Camera open for streaming
2020-11-02 11:06:59.834 [WARN ] [gstreamer] - GstCamera: map buffer size was less than max size (691200 vs 691207)
2020-11-02 11:06:59.834 [DEBUG] [gstreamer] - GstCamera: received first frame, codec=raw format=rgb8 width=640 height=360 size=691207
2020-11-02 11:06:59.834 [INFO ] [gstreamer] - gstreamer changed state from READY to PAUSED ==> mysink
2020-11-02 11:06:59.834 [INFO ] [gstreamer] - gstreamer changed state from PAUSED to PLAYING ==> mysink
2020-11-02 11:06:59.834 [INFO ] [gstreamer] - gstreamer changed state from PAUSED to PLAYING ==> pipeline0
^Creceived SIGINT
2020-11-02 11:07:07.416 [INFO ] [camera-viewer] - Shutting down...
2020-11-02 11:07:07.416 [ERROR] [gstreamer] - GstCamera: stopping pipeline, transitioning to GST_STATE_NULL
2020-11-02 11:07:07.668 [INFO ] [gstreamer] - GstCamera: pipeline stopped
2020-11-02 11:07:07.669 [INFO ] [camera-viewer] - Shutdown complete.
中央のクロップ
ヘルパクラス ImageCropper には、イメージを Live Sense モデルに送信する前に実行するオプションのクロッピング操作の例が含まれています。 トリミングを使用すると、特定のモデルのターゲットオブジェクトの詳細を確認できます。特に、標識などの小さいオブジェクトや遠くにあるオブジェクトの詳細を確認できます。 次の 2 つのトリミング操作を使用できます。