[表紙頁]へ  関連記事の目次へ

[二〇一七年一月二十七日]
USBカメラ3台の映像表示プログラムを、改良中−其の3

今まで、プログラムを「Win32コンソールアプリケーション」で組んでいたのだが、色々やってみても、邪魔な“暗い背景の「コマンドウィンドウ」”を、消したり最小化することが出来ない。(...まぁ、方法が見付けられなかったというのが実情だが)
(いい加減、疲れ果てて、)今回は「Windowsフォームアプリケーション」の方で組んでみた。
こちらも“窓”は残ったままだが、幾つかの項目は初期設定が出来るので、むしろこちらの方が便利かもしれない。

プログラムでの“カメラの切り替え”が(思いのまま?)出来るようになったのだが、どうやら短時間での早い切り替えには問題が多そうだ。
一つには、プログラムが“切り替え”に失敗してダウンし、OSが警告・救済をする事態が頻繁に起きること。
また、一つには、切換え直後、カメラ自身の特性なのだろうか?画面が暗い状態から始まり、これが正常になるまで約2、3秒掛かっていることだ。(動画1<クリック>では、ちょっとその変化が分かり難いが)
(この特性は、カメラに依って違うが、以前のジャンク・カメラでは、“暗いままの時間”が長い)

やはり、あまり“短い時間での切り替え”は、ダウンの危険が多いらしいことが分かって来た。
そうすると、「1亀」はそのままで、「2亀」と「3亀」との“切り替えタイミング/間隔”を、どのようにするか?例えば3秒毎か、10秒毎に設定するか、などが(次の愉しい?)悩みになっている。(笑)

−−−−−−−−−−−−−−−−−−−−−−−−−
プログラミングの方向

現在のプログラムは、ネット上で教わった基本形からは、あまり大きく変化していない。
基本形を使って、「1亀」+「2亀」と「1亀」+「3亀」を、一定時間間隔で切り替えているだけ。
それらの間に「2亀閉じ」+「3亀開け」と「3亀閉じ」+「2亀開け」を挟んでいるのだが、実はそれらの切り替え時間が1秒以上掛かっているらしい。

それを縮めようと、四苦八苦してみたが、目立った収穫無し。
カメラ間の“切り替え”を際どいタイミングにしようとすると、出て来るのは、“プログラム・ダウン”と“エラーメッセージ”ばかり。(図3 苦笑)
どうも、これは「亀さん/カメラ」の特性にも依存するみたい。
カメラ毎の“特性のバラツキ”があるから、一筋縄では行かない。

いずれにしても、「切り替えの時間短縮」は、カメラの組み合わせを決めて、実験的に追い込まないとダメだろうし、1台でもカメラが不調になれば、またやり直しになるはず。
...なので、そっちの方への追求は、面白そうだけど無駄だ!と思った。

やるなら、プログラムの“使い勝手”を良くする方だろうな。
それには、プログラミングの小技を沢山覚えないといけない。
目下、そうした小技を動かすために、ネット上で色々な参考情報を漁っているのだが、収率が悪い。
関数などを“コピペ”させて貰っても、殆どがそのままでは動かない。
処理環境が違っていたり、言語のバージョンが違っているのが原因らしい。
中には、語の後の“()”(関数を意味する括弧)の有る無しで、動いたり動かなかったり。(苦笑)

思い切って、BOOK-OFFで見掛けた書籍を、また2冊買って来た。(図4<クリック> ¥760税込み、¥500税込み)
所々、参考にはなるが、まだ不足!...もう、少し探してみたい。

課題

目下の課題は、今まで「手続き指向」しか知らなかった頭を、所謂「オブジェクト指向」に早く切り替えることだろうと思う。(苦笑)

「マルチスレッド」って何?例えば、親が死んでも子は走るってこと?
...実は、“メインルーチン”の方は終了させたつもりなのに、“カメラ映像取り込み”の方は、勝手に次から次へと湧いて出て来るので、それを停めるのに大童だった。
タスク・マネージャーでも、ワラワラと“湧き出す窓”を抑え切れず、最後は電源スイッチのお世話に。(図5)
これは、早晩解決出来ると思う。

尚、“カメラ切り替え”の確認には、「模型電車」(の動き)を利用しているが、実は“高架線路”が少し揺らぐのが分かったので、いずれそれも、改善したいと思っている。(図6<クリック>


[表紙頁]へ  関連記事の目次へ