2017-06-08 6 views
0

手のジェスチャーを検出して一致させる画像処理プログラムを設計したいと思います。私が基本的に必要とするのは、照会イメージを複数の訓練されたイメージと照合し、最良のマッチを返すことです。 以下のコードは、2つの片手ジェスチャーの実装です。OpenCV Pythonで複数のクエリ画像と学習画像を照合する方法

import cv2 as cv 

sift = cv.xfeatures2d.SIFT_create() 
bf = cv.BFMatcher() 

original_img = cv.imread('./database/bb.jpg', cv.IMREAD_GRAYSCALE) 
query_img = cv.imread('./database/b.jpg', cv.IMREAD_GRAYSCALE) 

kp1,des1 = sift.detectAndCompute(original_img , None) 
kp2, des2 = sift.detectAndCompute(query_img ,None) 

matches = bf.knnMatch(des1, des2, k=2) 
good = [] 

for m,n in matches: 
    if m.distance < 0.75 * n.distance: 
     good.append ([m]) 

new_img = cv.drawMatchesKnn(original_img, kp1, query_img, kp2, good, None, flags=2) 
cv.imshow('matches' , new_img) 

k = cv.waitKey(0) 
cv.destroyAllWindows() 

答えて

0

あなたはOpenCV3をインストールしました。コードはOpenCV3をインストールし、一致するたびに得点を付ける必要があります。これは Match each pair of images using opencv3のリンクです。 上記の関数を使用すると、イメージの各ペアのフィーチャに一致する可能性があります。 もちろん、マッチを評価し、それぞれのマッチにスコアを付けてソートする必要があります。私はリンクScore for each matchがあなたを助けるかもしれないと思う。

関連する問題