TENVIS「TH692」を触る

パッケージ開発担当のよみです。

今回は古い機種ですが手元にこれしかなかったので「TENVIS TH692」というカメラの設定と
コレを使用して写真を撮る簡単なソースを残しておこうと思います。

IMG_0342

TENVIS TH692の設定

まずカメラの設定を行います、付属のCDで「Search Tool」をインストールします。
TOP
次にカメラの電源を入れ、LANケーブルを接続してください。(無線LAN設定するまでは必要になります)
接続した状態で先ほどインストールした「Search Tool」を起動させると、
以下のように接続したカメラが表示されるはずです。
tooltop1
カメラを選択して「Open」を押すと、ブラウザが起動してユーザー名とパスワードを求められます。
初回はユーザー名「admin」パスワード「admin」になります。
pas
ログインすると「admin」ユーザーのパスワード変更を要求されるので絶対に変更してください、
「admin」のままとかにすると、少し前に話題になったように全世界に晒されちゃいますよ。
その後アドオンが必要ならインストール催促されるのでインストールしてください。
これでとりあえず映像が確認できます。
cameratop
次は有線LANを外したいので、無線LANの設定を行います。
映像上の「システム設定」タブから「ネットワーク設定」-「WiFi」の一覧から参加させたいWiFiを選択して
「保存」を押せば完了です、有線LANはもう外してしまっていいです。
wifi
※デフォルトのままだとカメラの電源が切れるたびにIPアドレスが変わってしまうので固定にしておいた方がいいです。

OpenCVを入れる

私がカメラをRaspberry Piから制御しているのでLinux環境でのお話になります。
Pythonのプログラムから写真を撮影して画像として保存したいので、「OpenCV」というライブラリを入れます。
apt-getで入れるのですが以下のファイルで本文がコメトアウトされているので解除してください。

/etc/apt/sources.list
/etc/apt/sources.list.d/collabora.list
/etc/apt/sources.list.d/raspi.list

その後以下で更新して、OpenCVを入れてください。

apt-get update
apt-get upgrade
apt-get dist-upgrade
apt-get autoremove
apt-get install -y libopencv-dev python-opencv

Python簡易ソース

ただ画像を撮って保存するだけのソースになります。
OpenCVを使用すれば、画像内の物体を認識することも出来ます。

import cv2

try:
    # カメラの取得
    vcap = cv2.VideoCapture("rtsp://【ユーザー名】:【パスワード】@【カメラIPアドレス】:【ポート】/【画面サイズ】")
    # 現在撮影している映像から画像を切り出す
    ret, frame = vcap.read()
    
    # 画像取得が失敗した場合
    if ret != True:
        print "error"
    
    # 画像の保存
    cv2.imwrite("tmp/Test.jpg", frame)
    
    # カメラの開放
    vcap.release()
    cv2.destroyAllWindows()
except Exception as e:
    print e.message

【ユーザー名】【パスワード】
カメラ設定の「システム設定」-「システム」-「ユーザー名」で使用するユーザーを登録しておきましょう。
※「user」や「guest」もちゃんとパスワードを変更しておきましょう

【カメラIPアドレス】
カメラ設定の「システム設定」-「ネットワーク設定」-「IPアドレス」
で各項目を確認してください。

【ポート】
カメラ設定の「システム設定」-「ネットワーク設定」-「ポート」
で各項目を確認してください。

【画面サイズ】の部分は以下のようになります。
rtsp://xx:xx:xx:xx:xxx/11 ( high resolution )
rtsp://xx:xx:xx:xx:xxx/12 ( med resolution )
rtsp://xx:xx:xx:xx:xxx/13 ( low resolution without sound )