前回のつづきです。
ということで、
Anaconda をここからダウンロードします。
Python 3.x 系の最新のやつで良いはず。
そしてインストーラーを起動したら、ここを参考にインストールします。
作業を進めると「推奨しません」と表示されていますが、
コマンドプロンプトでもやれるようにした方が個人的には良さげに思うので、
パスを通すようにチェックを入れました。
まずは、
仮想環境というのを作る必要があるようです。
ここやここやここを参考にしました。
特定バージョンのPythonと必要なパッケージをまとめた環境を整備します。
バージョンとか依存してたりするので、
それらをまとめて閉じておくわけですね。
Anaconda Navigator を使うとGUIな感じでやれるようなのですが、
起動とか遅い感じなので、
コマンドプロンプトを起動してCUIでやってみます。
CUIなコマンドとかについても上記のサイトが参考になります。
試しにコマンドプロンプトを開いてやってみます。
$ conda info
とやると、以下のように既定のPythonバージョン等が表示されます。
︙
conda version : 4.7.12
conda-build version : 3.18.9
python version : 3.7.4.final.0
︙
$ conda info -e
とやると、仮想環境の一覧が以下のように表示されます。
最初は base (root) しかないことがわかります。
# conda environments:
#
base * C:\Users\username\Anaconda3
それでは、
OpenCVな環境を作っていきましょう。
$ conda search opencv
とやってパッケージの情報を確認すると、以下のように表示されました。
# Name Version Build Channel
opencv 3.3.1 py35h20b85fd_1 pkgs/main
opencv 3.3.1 py36h20b85fd_1 pkgs/main
opencv 3.4.1 py35h40b0b35_3 pkgs/main
opencv 3.4.1 py35h6fd60c2_3 pkgs/main
opencv 3.4.1 py36h40b0b35_3 pkgs/main
opencv 3.4.1 py36h6fd60c2_3 pkgs/main
opencv 3.4.1 py37h40b0b35_3 pkgs/main
opencv 3.4.1 py37h6fd60c2_3 pkgs/main
opencv 3.4.2 py35h40b0b35_0 pkgs/main
opencv 3.4.2 py36h40b0b35_0 pkgs/main
opencv 3.4.2 py36h6fd60c2_0 pkgs/main
opencv 3.4.2 py37h40b0b35_0 pkgs/main
opencv 3.4.2 py37h6fd60c2_0 pkgs/main
opencv 4.0.1 py38h2a7c758_0 pkgs/main
どうやらAnacondaにおいては、
OpenCVの最新は4.0.1で対応するPythonは3.8のようです。
ところで、試してみたいこちらのコードを見ると、
OpenCV3.3.1とPython3.5でやっているようです。
ということで、間違いなく動作するはずなので、
その組み合わせで作ってみます。
名前は「opencv3.3.1」とかにしてみました。
$ conda create -n opencv3.3.1 python=3.5 opencv=3.3.1
すると関連する必要なパッケージもあわせて環境に導入されます。
ところで、
バージョン番号は major.minor.patch の3レベルの数字で表記されますが、
patch は指定しなくて構わないっぽい。
もちろん明示的に指定してもやれるようです。
また、パッケージのイントールは pip でもやれるようなのですが、
conda でやるように統一した方が良いらしい。
というか、ここによると pip は使わない方が良さげっぽい。
なお、上記では、
仮想環境の作成と同時に必要なパッケージをインストールしましたが、
$ conda install opencv=3.3.1
とかやって、
環境作成後に、追加でインストールすることも可能なようです。
では、環境一覧を確認してみます。
$ conda info -e
以下のように、「opencv3.3.1」が作られたことが分かります。
# conda environments:
#
base * C:\Users\username\Anaconda3
opencv3.3.1 C:\Users\username\Anaconda3\envs\opencv3.3.1
このままだと現在環境は「base」になってしまうので、
$ conda activate opencv3.3.1
とやって切り替えます。
これで、ようやく環境が整備されました。
こちらのサンプルコードを動かしてみます。
ただ、haarcascadeとかいう場所が自分の環境とは異なっていたので、
それは修正しました。
で、
実際に画像検出をやってみた結果ですが、
バッチリうまく行きました。
サンプルそのままなので、まぁ当然なのですが(^_^;)
それにしても、
実行時間がそれなりに掛かるのかと思っていたら、
ほんの一瞬でした。いやぁ素晴らしい。
どうやら、
haarcascadeなるファイルが肝のようです。
事前学習済カスケード型分類なデータが入っているらしい。
ということで、このファイルを如何に作るかが、
次の課題になりそうです。