USBウェブカムを利用した多点監視カメラシステムの製作 (ソフト使用編)

USBウェブカムを利用した多点監視カメラシステムの製作  (構想編)  へ戻る

USBウェブカムを利用した多点監視カメラシステムの製作   (構想編2)   へ戻る

USBウェブカムを利用した多点監視カメラシステムの製作  (ソフト開発編)  へ


以下では、windowsXP環境で、3台のUSBウェブカムを動かすやりかたを解説します.プログラム開発は、ソフト開発編をごらんください.

●免責
このプログラムおよび情報を用いた結果生じたいかなる損害にも、当方は関知いたしません.
このプログラムおよび情報は、泥棒が入らないことを保証するものではありません.
なので、このシステムを使用しながら泥棒に入られても、当方はその損害を賠償いたしません.
自己責任でご使用ください.

●windowsXP環境で動く実行ファイルは、こちらをダウンロード (zip) してください.XP以外のOSでは動作確認しておりません. orz

folder-camera123.jpg●解凍すると、USBCAMフォルダの下に、カメラA, カメラB, カメラC というフォルダが現れます.これらが3台のUSBウェブカムにそれぞれ対応します.

これらのフォルダは、単にコピーして増殖させただけです.よって、カメラ台数を増やしたい場合には、フォルダごとコピーすればOKです.フォルダ名は、「監視カメラ4」でも「その4」でもなんでも構いません.

ただし、後述する USBCAM.ini の一部分を書き換える必要 があります.そこだけケアしてください.

●各フォルダの中には、.exe、.dll、.ini ファイルが入っています.
.exeをダブルクリックすればプログラムが起動します.
.dllが、openCVのdllです..dllは.exeと同じフォルダに入れておくのが手間要らずで良いと思います.

●USBCAM.ini ファイルはプログラムの動作を決める重要なファイルです.カスタマイズしなくてもこのまま使って支障はないと思いますが、カメラ台数を増やすとか処理性能を変更したい場合には、実行する前にユーザー自身でカスタマイズしてお使いください.

・CameraNo    0
USBカムを3つ接続したなら、この番号は、0か1か2 のどれかにします.openCVがひっつかむUSBカムの番号が、0から順に振られるみたいだからです.したがって、たとえば、フォルダをコピーして、camera1, camera2, camera3の3つのフォルダを作りましたら、各フォルダの USBCAM.ini に、次の要領で番号をふります.フォルダ名は「CAM1」でもなんでもOKです.
    カメラAフォルダのUSBCAM.ini     →  CameraNo 0
    カメラBフォルダのUSBCAM.ini     →  CameraNo 1
    カメラCフォルダのUSBCAM.ini     →  CameraNo 2

・SpeedBackGround    0.2
動き検出の応答速度です.
パラメータ範囲は、いちおう 0.001〜0.999 ですが、現物あわせで0.2ぐらいがちょうどよさそうなので0.2にしてあります.
些細な動きでもJPEG保存させたい場合は、数値を大きくします.
よほどハデな動きでしかJPEG保存したくない場合は、数値を小さくします.

・ThresholdMoveDetect     15
動き検出のしきい値です.
パラメータ範囲は、いちおう 0〜255 ですが、現物あわせで15ぐらいがちょうどよさそうなので15にしてあります.
些細な動きでもJPEG保存させたい場合は、数値を小さくします.
よほどハデな動きでないとJPEG保存しなくしたい場合は、数値を大きくします.
たぶん、50を超える設定だと全然動き検出にひっかからなくなると思うので、50を超えた設定はありえないと思いますが.

・DebugMode 0
動き検出のパラメータを変えたときに、動き検出の効き具合を目で観察したいときがあります.そういうときに、1にします.すると、映像ウインドウが3枚開くようになります.1枚目はカメラ画像.2枚目は平均画像.3枚目は動き検出画像が表示されます.
通常は、無駄な処理をしないために、0にしておくのがよいでしょう.すると、カメラ画像だけが表示されるようになります.

・IntervalFileSave 2000
風でカーテンがそよいでいる画像でも、動きが有ればバシバシとJPEG保存してしまうわけなので、なんか歯止めがほしい場合があります.このパラメータを2000にすると、JPEG保存頻度が、最短でも2000msすなわち2秒になります.つまり2秒以上間隔を開けでJPEG保存しますので、あまりにも大量のJPEGが保存されてしまうのを防ぐことができます.

・FPS   1
USBウェブカムの撮影速度を指定します.1なら、毎秒1コマです.動画撮影するときは普通は毎秒30コマにしますが、本プログラムではJPEGファイルしか保存しないので毎秒1コマでも困らないので1にしました.PCの処理速度的には、毎秒5コマぐらいであれば毎秒1コマと同じでした.でも、さすがに毎秒30コマだと、USBウェブカムを3台も接続すると、PCの処理が重たくなってマウスの反応が遅くなったりします.

・UPDOWN   1
カメラを実際に取り付けるときに、天井に取り付けなくちゃいけない場合があります.こんなときは、カメラ画像がさかさまになってしまいますので、UPDOWN=1 にすることで、カメラ画像をさかさにします.普通にカメラを取り付けたときは、UPDOWN=0 にしておきます.

●実際のUSBCAM.ini は、カメラAフォルダから順に、こんな内容です.
CameraNo 0        0-
SpeedBackGround 0.2       0.001-0.999
ThresholdMoveDetect 15      0-255
DebugMode 0         1:True 0:False
IntervalFileSave 2000  画面をファイルセーブしたら3000ms以内には次のファイルセーブしない.もし0ならファイルセーブしない
FPS 1                           30以下
UPDOWN  1          1または0   1なら上下さかさま映像にする
-----
CameraNo 1        0-
SpeedBackGround 0.2       0.001-0.999
ThresholdMoveDetect 15      0-255
DebugMode 0         1:True 0:False
IntervalFileSave 2000  画面をファイルセーブしたら3000ms以内には次のファイルセーブしない.もし0ならファイルセーブしない
FPS 1                           30以下
UPDOWN  0          1または0   1なら上下さかさま映像にする
-----
CameraNo 2        0-
SpeedBackGround 0.2       0.001-0.999
ThresholdMoveDetect 15      0-255
DebugMode 0         1:True 0:False
IntervalFileSave 2000  画面をファイルセーブしたら3000ms以内には次のファイルセーブしない.もし0ならファイルセーブしない
FPS 1                           30以下
UPDOWN  0          1または0   1なら上下さかさま映像にする

●.exeを起動すると、コンソール画面と、画像表示画面が開きますが、とくにやることはありません.あとは、まったりと泥棒さんを監視しましょう.といっても、写るのは、家族が洗濯物を干したりする画像ばっかりなんですけどね.
あと、debug modeのときに表示される動き検出画面には、動きを検出すると、赤いが表示されます.



USBウェブカムを利用した多点監視カメラシステムの製作  (構想編)  へ戻る

USBウェブカムを利用した多点監視カメラシステムの製作   (構想編2)   へ戻る

USBウェブカムを利用した多点監視カメラシステムの製作  (ソフト開発編)  へ

inserted by FC2 system