[2018年8月10日]
ライブラリEWCLIBを、再発見!
USBカメラによる看視系(のソフト)の骨組みは、ほぼ仕上がったのだが、もう少し映像を細密に出来ないか/読み込み速度を上げられないか?などと欲が出て来る。
それで、ネット上を探し回っていると、「EWCLIB」、「ESPLIB」というライブラリを見掛けた。(図1)
これらは以前、「OpenCV」と一緒に使えるということで、組み込みを試してみたのだが、上手く組み込めず、それ以来疎遠になっていたもので、今回は“再発見”ということ!
今思うと、VC++の土台として「(Windows)フォーム・アプリ(ケーション)」を使っていたのに、其処へ無理に(「(Win32)コンソール・アプリ(ケーション)」を)合わせようとしていた為のようだ。
今回は、説明書に書かれた通りに、土台を変えた独立したプログラムとして、やってみたら、ちゃんと動いて、過不足はあるが、現行の「自作プログラム(UCam10)」と同じか、それ以上の結果が出せた。
これらは、更なる“高速性”も期待出来そうなので、有り難く参考・利用させて頂くつもり。(感謝!)
−−−−−−−−−−−−−−−−−−−−−−−−−
+++ ちょっと比較 +++
今までは、手軽に(MS標準な?)メニューを作りたいと思い「フォーム・アプリ」を選んで「自作プログラム」を組んで来たのだが、今回「EWCLIB、ESPLIB」を利用するには、「コンソール・アプリ」を選ばねばならないということ。
それで、いとも簡単に「試験プログラム(UCamEWC.exe素)」が出来てしまった!
「コンソール・アプリ」では、慣れないと“凝ったメニュー”が作れないのが難点のようだ。
でも、これらの“ライブラリEWCLIB、ESPLIB”だけで作った「試験プログラム(UCamEWC.exe)」では、「テキスト・ウィンドウ」に、リアルタイムで“フレーム・レート(fps)”などを表示出来てしまうなんてのが、嬉しい♪(図3左下)
「フォーム・アプリ」で作った「現行プログラム(UCam10.exe)」では、“フレーム・レート”の代わりに、“ラジオボタンの移動”で代用させているが、細かい数値は分からない。(図4<クリック> 中央)
その“フレーム・レート”だが、MS製LifeCam HD-3000やELECOM製UCAM-DLA200Hなどは、指定した値(30.0とか10.0とか)ぴったりなのだが、Logicool製C270、C210、Orbit/Sphereなどは、その値が上下に振れているのだ!例えば、31.7になったり、28.6になったり!?時には、130.8などになることも?!
(こうして、「道具」を替えてみると、少しずつ知見も増えて来るので、面倒がらずに、この“ライブラリ”にも挑戦してみようと思う)
+++ 異種カメラの混在 +++
上記の「試験プログラム(UCamEWC.exe)」を少し組み替えたりして、Logicool製カメラC210群に異種のカメラを混在させたらどうなるかをみた。
今回は、4台のC210群に、異種カメラとして、ELECOM製UCAM DLA200Hを4台を加えた系で試してみたら、「試験プログラム(UCamEWC.exe)」で、4台+1台まで映像表示が出来た。(図3 矢印が「UCAM DLA200H」1台の映像)
因みに、「現行プログラム(UCam10.exe)」でも、同じような状況だった。(図4<クリック>)
しかし、「現行プログラム(UCam10.exe)」だと、うっかり(無理な)6台以上を指定したら、暴走して、“後始末が厄介”なのだが、「試験プログラム(UCamEWC.exe)」の方では、そんな面倒な問題は発生しないようなので、安心だな!?
この辺りは、未だ素人プログラマの“泣きどころ”でもあって、実は“オブジェクト指向プログラム”とか“マルチ処理”とかが、未だ良く分かっていないから起きる問題なのだろうと思っている。
+++ 異種カメラ6台目! +++
この「試験プログラム(UCamEWC.exe)」の画面サイズを、プログラムを弄って調節したりしている時に、ふと、追加カメラの6台目として、「RGB24」タイプのもの(Buffalo・KokuyoSupply製BWC35L01NA)を加えたらどうなるか?気になったので、試してみた。
てへへ!上手く走った♪(図7)
「UCam10.exe」の方でも試したら、これも(“異種2台混在(計3種)”で、)上手く行っているようだ。(図8<クリック>)
これで、次のような構成になっている。
+Logicool製Webcam C210 「RGB24」 4台
+Elecom製UCAM-DLA200H 「YUY2」 1台
+Buffalo・Kokuyo製BWC35L01N「RGB24」 1台
これは、近距離・室内だからという利点もあるだろうが、わざと「延長ケーブル」約5m+HUBと約3m+HUBを介しているので、多少は厳し目になっているはず。
が、室内でちゃんと並走しているものでも、屋外へ移してみると、カメラがオープン出来なかったり、映像が取り込めなかったりするので、油断は出来ない。これらも、もう少し確認してから、屋外試験もしてみなければ。