diadia

興味があることをやってみる。自分のメモを残しておきます。

画像処理について

環境について

AIが流行ってるので画像系のAIについて調べてみた。pythonにはライブラリがあるみたいだ。今回は試しにopenCVを使ってみようと思う。
参考サイトとして以下がめっちゃ良さそう。

アルゴリズム雑記
openCVを使うにはnumpyもインストールしなければならないらしい。

環境構築

最初はcondaの仮想環境内にpipでopencvをインストールしていたが、jupyterを使う際やipythonでimport cv2が通らないので環境構築が面倒だった。最適な方法はcondaの仮想環境にconda install でopencvをインストールする方法である。以下のように行う。

conda create -n opencv python=3.5 
conda activate opencv
conda install opencv

こうすることでipythonやjupyterにもpathが通った状態になるので作業がしやすい。以下は不便だがpipでインストールする方法を残しておく。

anacondaを消して再度入れ直した。今回anaconda navigator の使い方がわかった。コマンドプロンプトを使わないで仮想環境を作れるのが便利だった。
openCVをインストールするのに以下が参考になった。

  1. OpenCV3.4とPython3.6をAnacondaでWndows10へインストール
  2. Installing opencv on Windows 10 with python 3.6 and anaconda 3.6

簡単にまとめると、仮想環境を新たに作成し、その仮想環境内のコマンドプロンプト内で以下のコマンドを入力した。

pip install numpy
pip install opencv_python-3.4.4+contrib-cp37-cp37m-win_amd64.whl

これでopenCV3.4.4を入れることができた。
注意としては、opencvを入れる際にpip install opencv_pythonとしてみたところjupyterでうまく読み込むことができなかった。
https://www.lfd.uci.edu/~gohlke/pythonlibs/#opencvこちらから適切なファイルをダウンロードしてそのディレクトリにてpip ファイル名とするのがうまくいく方法。cp37とかはどうやらpython3.7を表し、amd64はwindows64bitを表す。最初の3.4.4はopencvのバージョン。

pip install numpy
pip install python-opencv
#もしかして以下かも
pip install opencv-python

これでもanaconda環境でうまくいった。

またjupyter(Ipython) notebookを使うと良さそうだとわかった。anacondaをインストールすると自動的にjupyter(Ipython)もついてくるようだ。
コマンドプロンプト内でjupyter notebookと入力するとjupyter notebookが起動した。

jupyter notebook

jupyter notebookに仮想環境を追加

jupyter notebookでopencvを使おうとimport cv2としたところそんなモジュールはありませんと返されてしまった。jupyter notebookには仮想環境を追加してその環境にopencvがインストールされているときにimport cv2が成立するようだ。

参考にしたページ
自分と同じ症状
jupyter カーネルの変更の設定

jupyter kernelspec list 
#選択できるカーネルが表示される
ipython kernel install --user --name opencv37 --display-name opencv37
#=で繋ぐ必要はなく、スペースで登録できた

numpyの位置付け

openCVを使うには、numpyも必要。でnumpyについて少し記事を見ていた。numpyってのは要するに自分がやりたいことに適したデータ型を作成することにほかならないって結論に今のところなった。python備え付けのリストでは力が出ない(処理に時間がかかってしまう)。