【画像処理】Windows10に Python3.5 OpenCV3.1を入れてみる【Anaconda】

スポンサーリンク
広告

Open CV の新しいの入れてみようかな?

Raspberry Piだと、Pythonとかも最初から入ってて、あんまり悩まずに、OpenCVも入れれる。

$ sudo apt-get install libopencv-dev
$ sudo apt-get install python-opencv

これで入れるとOpenCV2が入るんですよね。使えるのでいいのでしょうけど・・・画素数が多いとやっぱりPiだと遅いことが判明して、使えんなぁ~(ラジコンに使うには・・ですよ!すごい人はこれでも、使いこなせるのでしょうけど・・)

でOpenCVって2と、3ではえらい違うんですねぇ。。。インターネットで調べたりすると結構どつぼにはまりますね。。昔からそうだけど、その記事に書いてあるバージョンじゃないと動かないとか・・いちいち考えなきゃいけない(笑)。。 LinuxもPythonもいろんなもののバージョンがいっぱいあって・・あと肝心な動かし方もなんかあっち試してこっち試してを繰り返さないといけないですねぇ(涙) gitもありのpipもあり~の。。apt-getもあり~の。。 どれがどれだか分かりにくいですねぇ~ 僕らのころは、こんなにたくさんなかったからなぁ~

Windows10だと??

じゃぁWindows機だとどれくらいの速さなのかな?っていうのが気になっていました(笑)

って・・・Web見てたら、Anacondaっていうのがあって・・Anacondaを入れてればいいと・・ ふ~ん。。

conda install -c https://conda.anaconda.org/menpo opencv3

Anacondaの詳しい説明は、ここに・・

PythonでのOpenCV3のAPI一覧

このやり方だと、インストールはかなり簡単そうですね。。OpenCVもそうだけど、Rも使えるのはいいな。。 Sを学生時代からちょくちょく使っていたのでRも会社に入ってから雷の分析とか、消費電力で人の活動量推定とかいろいろやってたので、そっちの方が楽なんだけどなぁ~・・・と愚痴ったりしながら・・・Pythonの使い方もOpenCVの使い方もよくわからない(笑)

で・・・AnacondaからのPythonの動かし方は、ここが正解?

Pythonの仮想環境をつくる

conda create -n py35con python=3.5 anaconda

Pythonを動かす

activate py35con

そうすると、Windowsのメニューに、Spyder(py35con)っていうのが出来ているので、そいつで、動かすと、Pythonいろいろいじるの簡単。 Pythonの開発環境って感じですね。

spydermenu

Spyder(py35con)を動かすと・・・左側にスクリプトなどを入れれるところがあるのでこれで、インタラクティブに試すことができますね。

spyder

って・・・コンソールでやっても動くけどね。。(どんどんこんなツール類が出てきてて・・追っかけられないよね(笑)

試しにグレースケールにして、エッジ検出してみる。

import cv2

# 定数定義
ORG_WINDOW_NAME = "org"
GRAY_WINDOW_NAME = "gray"
CANNY_WINDOW_NAME = "canny"

ORG_FILE_NAME = "org.jpg"
GRAY_FILE_NAME = "gray.png"
CANNY_FILE_NAME = "canny.png"

# 元の画像を読み込む
org_img = cv2.imread(ORG_FILE_NAME, cv2.IMREAD_UNCHANGED)
# グレースケールに変換
gray_img = cv2.imread(ORG_FILE_NAME, cv2.IMREAD_GRAYSCALE)
# エッジ抽出
canny_img = cv2.Canny(gray_img, 50, 110)

# ウィンドウに表示
cv2.namedWindow(ORG_WINDOW_NAME)
cv2.namedWindow(GRAY_WINDOW_NAME)
cv2.namedWindow(CANNY_WINDOW_NAME)

cv2.imshow(ORG_WINDOW_NAME, org_img)
cv2.imshow(GRAY_WINDOW_NAME, gray_img)
cv2.imshow(CANNY_WINDOW_NAME, canny_img)

# ファイルに保存
cv2.imwrite(GRAY_FILE_NAME, gray_img)
cv2.imwrite(CANNY_FILE_NAME, canny_img)

# 終了処理
cv2.waitKey(0)
cv2.destroyAllWindows()

うぉ・・・速い!!

コードは、こちらから拝借。。

Windowsだとむっちゃ早いんですね。。

org

これを読み込んで

gray

canny

な~るほど・・・一瞬だ。。

VideoのStreamでもこれなら使えるのかもねぇ~

StreatViewの画像を学習用とかシミュレーション用に使えれば、データ集めなくていいのでちょっと試すにもいいですしね。。Piでやろうとしたら、まず解像度を落とす段階でおそくなっちゃったので・・・進めなかったんですが、PCだと速いんですねぇ~

ちなみに PYTHON,OPENCVを用いたCVプログラミング に使い方などは詳しくのっていますね。

こちらのサイトは画像処理という切り口から紹介されていて参考になりますね。

Python+OpenCVならここかな?

って・・今週入れた環境だけでもこんなんになった(笑)

Cygwin Python 2.7 Ardupilot 系 SITLやら ソースからの・・

Windows Mission Planner バイナリで・・・SITLも・・・

Anaconda Python 3.5 OpenCV3.1 ライブラリで?

なるほど CloudのAPIとか、MAVproxyもそうだけど、プログラム間のやり取りを担うプログラムがあったりするんだ。。ROSも突き詰めれば・・・そうだよね。。

ちょっと試すのは簡単な感じだけど、どのバージョンのどれからやるのがいいのか??って悩み始めたら、もう進まんやろなぁ~ だから、悩むより実行!っていう時代になっているのかもなぁ~(笑)

この調子でやってたら、ディスクいくらあっても足りないな(笑)

追記1

Spyderで import cv でエラーが出たら、Anacondaのコンソールから、Opencvを入れなおすと解決しました。

にあるインストールをしました。。

conda install -c menpo opencv3=3.1.0

追記2

Facedetectなどをするときに、学習ファイル等を読み込むのですが、その時に絶対パスで読み込むようにする場合、Windowsだと、¥の代わりが、\と打って、下のような文字になります(^^;

\\
faceCascade = cv2.CascadeClassifier("haarcascade_frontalface_alt2.xml")

こういう場合は、

faceCascade = cv2.CascadeClassifier("C:\\Users\\hogehoge\\Anaconda3\\envs\\py35con\\Library\\etc\\haarcascades\\haarcascade_frontalface_alt2.xml")

のような感じです。

コメントを残していただけるとありがたいです

コメント

  1. […] 【画像処理】Windows10に Python3.5 OpenCV3.1を入れてみる【Anaconda】Open CV の新しいの入れてみようかな? Raspberry Piだと、Pythonとかも最初から入ってて、あんまり悩まずに、Open…tom2rd.sakura.ne.j […]

Loading Facebook Comments ...
%d人のブロガーが「いいね」をつけました。