国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術文章
文章詳情頁

Opencv Python實現兩幅圖像匹配

瀏覽:3日期:2022-06-16 08:53:05

本文實例為大家分享了Opencv Python實現兩幅圖像匹配的具體代碼,供大家參考,具體內容如下

原圖

Opencv Python實現兩幅圖像匹配

import cv2img1 = cv2.imread(’SURF_2.jpg’, cv2.IMREAD_GRAYSCALE)img1 = cv2.resize(img1,dsize=(600,400))img2 = cv2.imread(’SURF_1.jpg’, cv2.IMREAD_GRAYSCALE)img2 = cv2.resize(img2,dsize=(600,400))image1 = img1.copy()image2 = img2.copy()#創建一個SURF對象surf = cv2.xfeatures2d.SURF_create(25000)#SIFT對象會使用Hessian算法檢測關鍵點,并且對每個關鍵點周圍的區域計算特征向量。該函數返回關鍵點的信息和描述符keypoints1,descriptor1 = surf.detectAndCompute(image1,None)keypoints2,descriptor2 = surf.detectAndCompute(image2,None)# print(’descriptor1:’,descriptor1.shape(),’descriptor2’,descriptor2.shape())#在圖像上繪制關鍵點image1 = cv2.drawKeypoints(image=image1,keypoints = keypoints1,outImage=image1,color=(255,0,255),flags=cv2.DRAW_MATCHES_FLAGS_DRAW_RICH_KEYPOINTS)image2 = cv2.drawKeypoints(image=image2,keypoints = keypoints2,outImage=image2,color=(255,0,255),flags=cv2.DRAW_MATCHES_FLAGS_DRAW_RICH_KEYPOINTS)#顯示圖像cv2.imshow(’surf_keypoints1’,image1)cv2.imshow(’surf_keypoints2’,image2)cv2.waitKey(20)matcher = cv2.FlannBasedMatcher()matchePoints = matcher.match(descriptor1,descriptor2)# print(type(matchePoints),len(matchePoints),matchePoints[0])#提取強匹配特征點minMatch = 1maxMatch = 0for i in range(len(matchePoints)): if minMatch > matchePoints[i].distance:minMatch = matchePoints[i].distance if maxMatch < matchePoints[i].distance:maxMatch = matchePoints[i].distance print(’最佳匹配值是:’,minMatch) print(’最差匹配值是:’,maxMatch)#獲取排雷在前邊的幾個最優匹配結果goodMatchePoints = []for i in range(len(matchePoints)): if matchePoints[i].distance < minMatch + (maxMatch-minMatch)/16:goodMatchePoints.append(matchePoints[i])#繪制最優匹配點outImg = NoneoutImg = cv2.drawMatches(img1,keypoints1,img2,keypoints2,goodMatchePoints,outImg, matchColor=(0,255,0),flags=cv2.DRAW_MATCHES_FLAGS_DEFAULT)cv2.imshow(’matche’,outImg)cv2.waitKey(0)cv2.destroyAllWindows()

Opencv Python實現兩幅圖像匹配

原圖

Opencv Python實現兩幅圖像匹配

#coding=utf-8import cv2from matplotlib import pyplot as pltimg=cv2.imread(’xfeatures2d.SURF_create2.jpg’,0)# surf=cv2.SURF(400) #Hessian閾值400# kp,des=surf.detectAndCompute(img,None)# leng=len(kp)# print(leng)# 關鍵點太多,重取閾值surf=cv2.cv2.xfeatures2d.SURF_create(50000) #Hessian閾值50000kp,des=surf.detectAndCompute(img,None)leng=len(kp)print(leng)img2=cv2.drawKeypoints(img,kp,None,(255,0,0),4)plt.imshow(img2)plt.show()# 下面是U-SURF算法,關鍵點朝向一致,運算速度加快。surf.upright=Truekp=surf.detect(img,None)img3=cv2.drawKeypoints(img,kp,None,(255,0,0),4)plt.imshow(img3)plt.show()#檢測關鍵點描述符大小,改64維成128維surf.extended=Truekp,des=surf.detectAndCompute(img,None)dem1=surf.descriptorSize()print(dem1)shp1=des.shape()print(shp1)

效果圖

Opencv Python實現兩幅圖像匹配

import cv2from matplotlib import pyplot as pltleftImage = cv2.imread(’xfeatures2d.SURF_create_1.jpg’)rightImage = cv2.imread(’xfeatures2d.SURF_create_2.jpg’)# 創造siftsift = cv2.xfeatures2d.SIFT_create()kp1, des1 = sift.detectAndCompute(leftImage, None)kp2, des2 = sift.detectAndCompute(rightImage, None) # 返回關鍵點信息和描述符FLANN_INDEX_KDTREE = 0indexParams = dict(algorithm=FLANN_INDEX_KDTREE, trees=5)searchParams = dict(checks=50) # 指定索引樹要被遍歷的次數flann = cv2.FlannBasedMatcher(indexParams, searchParams)matches = flann.knnMatch(des1, des2, k=2)matchesMask = [[0, 0] for i in range(len(matches))]print('matches', matches[0])for i, (m, n) in enumerate(matches): if m.distance < 0.07 * n.distance:matchesMask[i] = [1, 0]drawParams = dict(matchColor=(0, 255, 0), singlePointColor=None, matchesMask=matchesMask, flags=2) # flag=2只畫出匹配點,flag=0把所有的點都畫出resultImage = cv2.drawMatchesKnn(leftImage, kp1, rightImage, kp2, matches, None, **drawParams)plt.imshow(resultImage)plt.show()

Opencv Python實現兩幅圖像匹配

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 国产精品久久久久久久久免费观看 | 国产a级三级三级三级中国 国产a级特黄的片子视频 | 欧美一级特黄特色大片 | 男女午夜| 成人男女啪啪免费观看网站 | 成人免费观看永久24小时 | 一级作爱视频免费观看 | 日本三级欧美三级 | 一级黄色录相片 | 办公室紧身裙丝袜av在线 | 国产a级特黄的片子视频免费 | 欧美专区在线视频 | 国产亚洲精品美女一区二区 | 成人精品视频网站 | 亚洲免费中文 | 午夜国产精品不卡在线观看 | 色综合久久88色综合天天小说 | 色综合美国色农夫网 | 夜色精品国产一区二区 | 国产欧美日韩不卡在线播放在线 | 免费成人高清视频 | 中文字幕中文字幕中中文 | 美国美女一级毛片免费全 | 天堂视频免费看 | 久久成人国产 | 国产在线一区二区三区四区 | 欧美成人香蕉网在线观看 | baoyu121永久免费网站 | www.亚洲成人.com | 性感美女视频免费网站午夜 | 成人性生免费视频 | 草草影院在线播放 | 国产视频中文字幕 | 成人香蕉视频 | 亚洲精品国产一区二区三区在 | 国产欧美日韩图片一区二区 | 久久九九久精品国产 | 亚洲一区二区三区视频 | 久久亚洲国产视频 | 美国一级特a黄 | 亚洲福利精品一区二区三区 |