OpenCVで四苦八苦

目次
[1] しょのイチーー!!   (故・谷岡ヤスジ風)  OpenCV3 プログラミングブック
[2] しょのニー!!   (故・谷岡ヤスジ風) 
[3] しょのサーーン!!(同上)

 




[1] しょのイチーー!!   (故・谷岡ヤスジ風)  OpenCV3 プログラミングブック 藤本 他 マイナビ 2015年
                                    (2019/06 半ば)

  

 対象OSはWindows , OS X, Linuxである。私はWindows 10を使う。WindowsでOpenCVを使うにはCMakeを使う、公式インストーラーを使うという方法が紹介されている。

 公式インストーラーはカスタマイズは不可。拡張機能を使いたい場合にはCMakeを使うしかない。ここらの説明が不親切極まりないって感じだ。この本のサンプルは出版社サイトからダウンロード出来るのだが動かすには四苦八苦するのは確実だろう(あくまでも個人の感想です) 

   ちなみに、私の場合、OpenCV 3.4.4でありVisual Studio 2017 Communityを使う。本の著者らの環境とは異なる。本は2015年出版でもあるし。

 そこでCMakeを利用してOpenCVの拡張機能を利用できるようにする方法を探す。例えば、https://qiita.com/tomochiii/items/fa26404ebc5fcd4481b9 

 CMakeをインストールしたのだが解説サイトのようには行かない。CMake 3.14.4 ではだめだった。コンパイラの選択肢が解説のようなものが出ないのである。Visual Studio 15 2017 Win64が選択肢に出ない。ないのだ。そこで、CMake 3.13.5をインストールした。すると解説どおりに進んだ。

 だが、疑問が。Visual Studio 2017 Communityというツールは32bit アプリのはずだ。そこにどうしてVisual Studio 15 2017 Win64というものが出てくるのだ。Visual Studio 15 2017 Win64とVisual Studio 15 2017 の2つが選択肢にはあるのだ。この違いはなんだ?   ワケワカメですね(笑) だが、手順通りに進んだ。Visual Studio 2017 CommunityでRelease, Debugとビルドし、OpenCV3.4.4の拡張機能が使えるようになった・・・と思ったのはぬか喜びであった(´・ω・`)

 本の例題をビルドしたらビルドできたので実行したらエラーだ!!   エラーの内容を見るとSURFは特許されていて、どーたらこーたら。そこでCMakeで指定のところにチェック入れてやり直せという。そこでCMakeからやり直しだ。こういう話をどうして本には書いてないのか不親切すぎる!!  

  というわけで本の例題の一つは動いた。SURF使う奴。ところが更にトライすると・・・あかん。今度はcvvを使う例題だがcvvのインストールに関しては何の説明もない。拡張機能のインストールの際にcvvはインストールされるのではないか、と期待したのだが。ここらに言及がないところを見ると著者らの環境では問題なく私の環境ではダメって事になる。

 というわけで、この本の例題を動かすだけで四苦八苦して、結局は中断した。ちなみに検索していたらOpenCVの難易度に関する記事を見つけた。先人も苦労しているわけだ。

https://qiita.com/fukushima1981/items/fae7d40123bfdf426624

 私のような初心者は公式インストーラーを使ってインストールして、その範囲内で出来ることをしませう・・・・って事かい(´・ω・`)

 

   蛇足

 CVVモジュールを使うにはQT5とOpenGLが必要とか。それはいったいなんじゃらホイ。CVVはOpenCVのDebugging toolである・・・らしい。上の本で使用例があるのだがQTとOpenGLをどのようにしてインストールするかは書いてない。で、検索するしかない。OpenGLはwindows10にはあるんだって、ドッヒー。Graphics Libraryなので既にあるんだって。ただ、使うためには使うツールがいるだすわ。2D,3Dのゲーム作るわけではなくCVVを動かしたいだけなので深入りはせず。QTってのはGUIを作るツールなのかな?  

 まあしかし、Windows10の持つ機能のうちの5%ぐらいは使うかね私は・・・・ そういえばUbuntuも使えるなあ。うーーむ。それで何するあるか、ちみぃ? 

[2] しょのニー!!   (故・谷岡ヤスジ風)  C++でOpenCV、さらに動画を
(2019/06 半ば)

 

 カットシステム、著者は北山洋幸 --- C++インターフェースによる・・・というのはMicrosoft Visual Studioを使い言語はc/c++ではなくて、c++/CLIという言語である。OpenCVで始める簡単動画プログラミングは同じくc++/CLIを使い動画を処理する。c++/CLIというかVC++というか。(間違いであった。動画はVisual Studio を使うがGUIは作らない。なのでC++のみである。)
 Microsoftはc++/CLIでGUIを開発することは推奨せずProject作成のTemplateも消しとる。だが手動で簡単に作れる。どうやらGUIはVC#で作り高速処理が必要なところはc++/CLIで書けってところか。そんな高度な事はワタクシにはできませぬ(´・ω・`)
 というわけで2つの本の例題を動かしてみた。そこから自分の望む処理を開発することは簡単・・・・・・ではない。例題を動かすのは簡単だが(笑)
 静止画での処理を動画に適用してみようと思ったが、そういう事は5,6年前にやったので再度・・・。PCの性能が上がっているので何か面白い事があるかも知れない。動画でEdge抽出するとか、動画で顔検出するとか、数年前に試した。再度、繰り返すか。ひまだから(笑)

 蛇足 画像処理のお勉強はOpenCVでやるとして実際のアプリは優秀な先人がすでに無償で提供しているものがある。もちろん有料の画像処理ソフトもあるだろうがワタクシはそういうのは知らないで見ござる。画像機器展で10年ぐらい前にドイツ製の画像処理ソフトのデモを見たが製品名も忘れた(笑)
 というわけでImage Jというフリーの画像処理ツールを見つけた。生物分野の研究者が紹介していたのである。細胞の写真を撮って細胞のどーたらこーたらをナンタラコータラするらしい。試しにインストールして見た。画像のモノクロ化、二値化、ボヤかし、先鋭化、回転、・・・とかはIrfanViewでもできる。OpenCV使って作っても狩野舞子である、可能である。うむ。だが、ここは画像処理ツールとして機能が豊富にあるImage Jの使い方を地道に調べてみようではないか。
 最近、近所で欅の大木を切り倒すのが流行っていて。10本ぐらいはなくなった。おかげで空が広くなった。で、地面には年輪が見える木の根元があるわけで。そー、その年輪を画像処理で数えてみたい・・・と思ったが。
                         実物を前にして自分で地道に数えると10分もあれば終わるど!!  
  で、画像処理でやる場合には前処理ってのが大事でね。うまいこと二値化で年輪が等高線のように浮き上がるかどうか。多分、ダメだろ。これ、簡単にはできないよ。やっぱ、自分で木の根元を見つつ数えるってのが最適、最速!!   うむ。(´・ω・`)

 

[3] しょのサーーン!!(同上)
   動画の製作例 2つの動画を交互に出してみた。上の2つを交互に出した。
 
 expression Web 4の挿入・メデイアで動画を挿入してもブラウザに表示されなかったので作戦変更。
   クリックしてくだされ・・・・戻る時はブラウザの、戻る、で戻ってね。
テスト1 

 この本では逆再生とか動画分割とか基本的な処理がいくつか紹介されている。分りやすいサンプルプログラムが満載!!  らしい。買った人は出版社からダウンロードできる。だが図書館の場合には不可能。
 本に袋とじがあって、そこにアクセス先とかパスワードとか書いてあるらしい。図書館の本は袋とじがないのであった。この手の本でDVD付属の場合、図書館ではDVDを外してある場合がある。 そりゃ本を買って貰いたいからなあ・・・だがワタクシは貧乏・金無しなので本は買わないもんね。今回は写経でした(笑)
 ただ、写経はメリットもある。サンプルプログラムが手に入るとクリック、クリックで動作を見て終わり・・・・ほとんど頭に入らない(あくまでもワタクシの場合でござる)。自分で書き写すと少しは頭に入るし記憶にも残りやすい。1,2ページのコードであれば写経するがよいさ!! 10ページぐらいになると写経する気力は失せる(´・ω・`)

 

 
  

 

 

▲このページのトップへ