産業用UVCカメラのすすめ 産業用UVCカメラのすすめ

※画面を横にするとパソコン版のレイアウトでご覧いただけます。正しく表示されていない場合は横向きでご覧ください。

HDRを有効化してライブ表示 Python編

概要

TISのUVCカメラでHDRの機能を有効化しライブ表示をする。
ここではその手順について説明します。

開発環境

OS:Ubuntu 18.04.4 LTS
プログラミング言語:Python
デバイスドライバー:v4l2

サンプルプログラムダウンロード

TISの環境のインストール

$ git clone https://github.com/TheImagingSource/tiscamera.git
$ cd tiscamera
$ git checkout development※
$ mkdir build
$ cd build
$ cmake -DBUILD_ARAVIS=OFF -DBUILD_GST_1_0=ON -DBUILD_TOOLS=ON -DBUILD_V4L2=ON -DCMAKE_INSTALL_PREFIX=/usr ..
$ sudo make
$ sudo make install
※ソフトウェアの開発時に、同じプロジェクトを並行して開発することがあります。 Gitではプログラムの追加やバージョン管理を支援するために、履歴を管理するブランチという機能があり、ここではGitのブランチが正式版(masterブランチ)ではなく、開発版(developブランチ)のプロジェクトを使います。

tiscamera-dutilsのインストール

下記のインストールファイルから、使用している環境にあったtiscamera-dutilsをインストールします。tiscamera-dutilsは、GStreamer-1.0モジュールであり、機能拡張および変換アルゴリズムを提供おり、その中にHDRを拡張する機能が含まれています。
https://www.argocorp.com/software/DL/tis/Linux/index.html

uvcdynctrlインストール

接続できるカメラのプロパティが少ない場合はUVC 対応 WEB カメラを制御するためのライブラリパッケージが不足している場合があるので、ターミナル上で下記のコマンドを実行します。uvcdynctrlは、libwebcam ライブラリパッケージに含まれるユーティリティで接続する UVC 対応カメラのフォーカス制御、明るさ、コントラスト等を制御するときに使われます。
$sudo apt-get install uvcdynctrl

tcamdutilsがインストールされていることを確認

$ gst-inspect-1.0 tcamdutils

python scriptを実行

任意の場所に下記のサンプルコードを配置しコマンドを実行
$python3 test-script.py
tiscameraの画像取得にはgstreamerのパイプラインが一部使われています。
Pythonのコード内では下記の通りGstreamerのパイプラインを通じてTonemappingのプロパティ値を真にすることでHDRが有効化されます。ただし、有効化されるまでに2秒程度かかりますので、ライブ表示前にtime.sleep(2)を入れております。


その後、get_tcam_propertyメソッド でTonemappingのプロパティ値を取得することでTonemappingが有効化されていることが確認できます。

実行結果



産業用UVCカメラ
産業用カメラの基礎
産業用カメラのスペックの見方
Windows
Linux
Jetson Nano