今、このパソコンに入っているPythonがOpenCVできるようなので、
イメージ表示させようとしたら、
【Python】openCVのcv2.imshow()でエラー error: (-215) size.width>0 && size.height>0 in function cv::imshow
http://oregengo.hatenablog.com/entry/2016/09/24/195322
に書いてあるエラーになり、どうも入っているものがあやしいので、
入れなおそうとしたら、いろいろあったので、メモ
(以下、新規に入れるものとして話を始めています。
なので、実際には、今入っているものをアンインストールした後、
後述するcv2.pydを削除して、その後、以下のことをしています)
--------------
■そもそも、PythonでOpenCVするには
・とりあえずAnacondaいれてみようか
・OpenCVでpythonのライブラリをとってくる
・プログラミング
以下、その順番で・・・
--------------
■とりあえずAnacondaいれてみようか
Anaconda で Python 環境をインストールする
http://qiita.com/t2y/items/2a3eb58103e85d8064b6
にあるように
https://www.continuum.io/downloads
にいくとことまではOK。でもその先!インストーラーは
バージョン3.6 ではなく!!
下の
Python 2.7 version
を選ぶ。そうしないと、OpenCVのバージョンにあわない。
今回64ビット版をダウンロード
(32ビットの人は、下のほうをダウンロード)
「管理者として実行」を選択して、管理者権限で実行します
(普通にダブルクリックすると、エラーになる)
実行して、インストールが終わったら、ためしに立ち上げるわけですが、
スタートボタン→Anaconda3(64bit)→Anaconda Prompt
を実行してコマンドラインを出して、
コマンドラインが出てきたら(私の環境だと、かなり時間かかった)
python
を実行(ふつうにコマンドラインからpythonとうつと、パスが無いので
エラーになる)
ためしに
import sys
sys.version_info
とかして、バージョンっぽいものが出てくればOK
--------------
■OpenCVでpythonのライブラリをとってくる
AnacondaにOpenCVをインストール
http://opencv.blog.jp/python/anaconda_opencv_install
に書いてあるとおりにやろうとして
http://opencv.org/
にいっても、そもそも、ダウンロード画面がない。
OpenCV3.2がLatestNewsに載っていたので、そこ
http://opencv.org/opencv-3-2.html
にいったら、「Download」に
Windows self-extracting archive: sourceforge
とあって、sourceforgeクリックしたら、勝手にダウンロード始めた(^^;)
それを実行
そうすると、opencvとか言うフォルダに解凍したものがでてくる。64ビットなので
opencv\build\python\2.7\x64
の、cv2.pydを
C:\ProgramData\Anaconda2\Lib\site-package
の下に入れて、もう一度
スタートボタン→Anaconda3(64bit)→Anaconda Prompt
を実行してコマンドラインを出して、
コマンドラインが出てきたら(私の環境だと、かなり時間かかった)
python
を実行。ためしに
import cv2
すると、エラーにならずに(なにも出ないで)プロンプト
--------------
■プログラミング
Getting Started with Images
https://opencv-python-tutroals.readthedocs.io/en/latest/py_tutorials/py_gui/py_image_display/py_image_display.html#using-opencv
にプログラムがある。ちなみに、ピクチャライブラリのサンプル画像
C:\Users\Public\Pictures\Sample Pictures
にあるペンギン.jpg(と見えるけど、本当のファイル名はPenguins.jpg)
を出す場合は、こんな感じ
import cv2
img = cv2.imread('C:\Users\Public\Pictures\Sample Pictures\Penguins.jpg',0)
cv2.imshow('image',img)
cv2.waitKey(0)
imshowでなんかへんなものがでて
waitKeyすると、白黒のペンギンが出る。
上のXボタンでクローズしました。
その例にあるように、imreadの第二引数に0を指定すると、白黒画像になる
元はカラー画像なんだけど、カラーのまま表示するには
img = cv2.imread('C:\Users\Public\Pictures\Sample Pictures\Penguins.jpg')
にする。
--------------
ここまで、やってきて、気づいた・・・
始めのエラーは、たぶん、ファイル名を
C:\Users\Public\Pictures\Sample Pictures\ペンギン.jpg
って、したからだ・・・あのエラー、ファイルがなくても、
そうでるんだ・・・たぶん・・・