0
OCRのためのSIFT特徴抽出を使用しています。OCRの特徴抽出の使用
import cv2
import matplotlib.pyplot as plt
import numpy as np
img1=cv2.imread('/Users/amuly/Desktop/Soap/training data/d000.jpg')
img_temp=cv2.cvtColor(img1,cv2.COLOR_BGR2GRAY)
img2=cv2.imread('/Users/amuly/Desktop/Soap/test/dot matrix/5.jpg')
img_scene=cv2.cvtColor(img2,cv2.COLOR_BGR2GRAY)
sift=cv2.xfeatures2d.SIFT_create()
kps1, descs1 = sift.detectAndCompute(img_temp, None)
kps2, descs2 = sift.detectAndCompute(img_scene, None)
# create BFMatcher object
bf = cv2.BFMatcher()
# Match descriptors.
matches = bf.knnMatch(descs1,descs2,k=2)
print matches
#Apply Ratio test
good = []
for m,n in matches:
if m.distance < 0.75*n.distance:
good.append([m])
print good
# Draw matches which is giving me an error
img3 = cv2.drawMatches(img1,kps1,img2,kps2,good,None,flags=2)
エラーは、引数のためのcv :: DMatch期待
が
私はその後、drawMatches()
に渡されgood[]
で試合を持っています '1to2と一致する' です。
plt.imshow(img3)
plt.show()
質問をより適切にフォーマットしようとしましたが、「何か良いものを持っている」とは考えられません。 –