【画像処理】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を入れてればいいと・・ ふ~ん。。

OpenCV 3(core + contrib)をWindows & Python 3の環境にインストール&OpenCV 2とOpenCV 3の違い&簡単な動作チェック - Qiita
はじめにOpenCV(Open Source Computer Vision Library)はBSDライセンスの映像/画像処理ライブラリ集です。画像のフィルタ処理、テンプレートマッチング、物体認…
conda install -c https://conda.anaconda.org/menpo opencv3
簡単にpython3系列とOpenCV3を導入する - Qiita
#今回の目的1.pythonの3系列をインストールする。2.そのpython環境を用いてOpenCV3.1を使えるようにする。#環境ubuntu 15.04 ~windows 8.1 ~…

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

データサイエンティストを目指す人のpython環境構築 2016 - Qiita
pythonの環境構築について"python 環境構築"でググると20万件くらいヒットしますが、割と内容が古いです。タイトルにはデータサイエンティストと書いてありますが、データサイエンティスト以…

PythonでのOpenCV3のAPI一覧

OpenCV3のPython API一覧 - Qiita
はじめに■ OpenCVのPythonバインディング OpenCVは、C++だけでなくPythonでも実行できます。他のPythonライブラリとOpenCVを組み合わせたプログラムをつくることが…

このやり方だと、インストールはかなり簡単そうですね。。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()

うぉ・・・速い!!

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

OpenCVでエッジ検出してみる - Qiita
はじめにOpenCV(Open Source Computer Vision Library)はBSDライセンスの映像/画像処理ライブラリ集です。画像のフィルタ処理、テンプレートマッチング、物体認…

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

org

これを読み込んで

gray

canny

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

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

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

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

http://derivecv.tumblr.com/serialization

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

http://opencv.blog.jp/python/nyumon

Python+OpenCVならここかな?

PyImageSearch - You can master Computer Vision, Deep Learning, and OpenCV.
Helping developers, students, and researchers master Computer Vision, Deep Learning, and 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を入れなおすと解決しました。

Opencv3 :: Anaconda.org

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

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人のブロガーが「いいね」をつけました。