とか、など

プログラミングとか、画像処理とか、機械学習を勉強しようとして挫折中

windows環境でpython3、opencv3を使う超簡単な方法(SIFTも使えるよ)

今回はwindows環境でpython3, opencv3をインストールします。

 

とりあえず、anaconda入れましょう。windowsでも、インストーラ持ってきて一発です。

 

Download Anaconda now! | Continuum

 

入ったら、

conda create -n py35con python=3.5 anaconda

して

activate py35con

で、肝心のopencvをどうするかというと

神のホームページから拾ってくる

しかも、contribパッケージ同梱のwhlがあるという素晴らしさ(opencv3ではsiftとかsurfは別のcontribモジュールに分離されているので、別に導入しなければならない)

ということで

http://www.lfd.uci.edu/~gohlke/pythonlibs/

ここから、

opencv_python-3.1.0+contrib-cp35...

をダウンロード

さっきのpy35con環境で

pip install "opencv_python-3.1.0+contrib(省略).whl"

すれば完璧。後は適当にSIFTを試してみる

 

import cv2

import numpy as np

 

imgOrg  = cv2.imread( './test.bmp' )

imgGray = cv2.cvtColor( imgOrg, cv2.COLOR_BGR2GRAY ) 

 

sift = cv2.xfeatures2d.SIFT_create( nfeatures = 0, nOctaveLayers = 3, contrastThreshold = 0.04, edgeThreshold = 10, sigma = 1.6 )

keypoints, descriptors = sift.detectAndCompute( imgGray, None )

 

 

imgDst = np.empty_like( imgOrg )

cv2.drawKeypoints( imgOrg, keypoints, imgDst, -1, flags = cv2.DRAW_MATCHES_FLAGS_DRAW_RICH_KEYPOINTS )

 

cv2.imwrite( 'hoge.png', imgDst )

cv2.imshow( 'hoge', imgDst )

cv2.waitKey( 0 )