資源簡介
為方便,只有源碼,請自行安裝包,請注意:OpenCV-Python-contirb 3.4.216 不要用4.-幾的。代碼中圖片路徑改一下運行即可
代碼片段和文件信息
#?coding:?utf-8
import?numpy?as?np
import?cv2
leftgray?=?cv2.imread(r‘E:\pyProjects\cv-learning\7.jpg‘)
rightgray?=?cv2.imread(r‘E:\pyProjects\cv-learning\11.jpg‘)
SIZE=(600480)
leftgray=cv2.resize(leftgraySIZE)
rightgray=cv2.resize(rightgraySIZE)
hmerge?=?np.hstack((leftgrayrightgray))?#水平拼接
cv2.imshow(“gray“?hmerge)?#拼接顯示為gray
cv2.waitKey(0)
hessian?=?900
surf?=?cv2.xfeatures2d.SIFT_create(hessian)?#?將Hessian?Threshold設置為400閾值越大能檢測的特征就越少
kp1?des1?=?surf.detectAndCompute(leftgray?None)??#?查找關鍵點和描述符
kp2?des2?=?surf.detectAndCompute(rightgray?None)
img3?=?cv2.drawKeypoints(leftgraykp1leftgraycolor=(2550255))?#畫出特征點,并顯示為紅色圓圈
img4?=?cv2.drawKeypoints(rightgraykp2rightgraycolor=(2550255))?#畫出特征點,并顯示為紅色圓圈
hmerge?=?np.hstack((img3?img4))?#水平拼接
cv2.imshow(“point“?hmerge)?#拼接顯示為gray
cv2.waitKey(0)
FLANN_INDEX_KDTREE?=?0??#?建立FLANN匹配器的參數(shù)
indexParams?=?dict(algorithm=FLANN_INDEX_KDTREE?trees=5)??#?配置索引,密度樹的數(shù)量為5
searchParams?=?dict(checks=50)??#?指定遞歸次數(shù)
#?FlannbasedMatcher:是目前最快的特征匹配算法(最近鄰搜索)
flann?=?cv2.FlannbasedMatcher(indexParams?searchParams)??#?建立匹配器
matches?=?flann.knnMatch(des1?des2?k=2)??#?得出匹配的關鍵點
good?=?[]
#?提取優(yōu)秀的特征點
for?m?n?in?matches:
????if?m.distance?0.4*?n.distance:??#?如
評論
共有 條評論