tata色々な備忘録

データ解析、画像解析、化学分析などなど

python+Opencvによる画像解析1(ORB特徴量)

フリーの局所画像記述子であるORBによる特徴抽出

import cv2
import numpy as np
from matplotlib import pyplot as plt

img = cv2.imread('lena.jpg',0)

# 検出器の初期化
orb = cv2.ORB()


# 特徴量の検出と出力用の計算
kp, des = orb.detectAndCompute(img, None)

# 特徴の描画
img2 = cv2.drawKeypoints(img,kp,color=(0,255,0), flags=0)
plt.imshow(img2)
plt.show()

f:id:tatabox2000:20130728055247p:plain

#検出器
cv2.SIFT() 
cv2.BRISK()
cv2.ORB()
cv2.SURF()

#他にもFASTとMSERが使用可能

orb =cv2.ORB()
kp = orb.detect(img)
kp,des =orb.detectAndCompute(img,none)

#cv2.ORB.compute() は2.4.6で動かない(バグ?)