麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 開發(fā) > Python > 正文

opencv-python 提取sift特征并匹配的實例

2024-09-09 19:03:10
字體:
供稿:網(wǎng)友

我就廢話不多說,直接上代碼吧!

# -*- coding: utf-8 -*-import cv2import numpy as npfrom find_obj import filter_matches,explore_matchfrom matplotlib import pyplot as plt def getSift():  '''  得到并查看sift特征  '''  img_path1 = '../../data/home.jpg'  #讀取圖像  img = cv2.imread(img_path1)  #轉(zhuǎn)換為灰度圖  gray= cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)  #創(chuàng)建sift的類  sift = cv2.SIFT()  #在圖像中找到關(guān)鍵點 也可以一步計算#kp, des = sift.detectAndCompute  kp = sift.detect(gray,None)  print type(kp),type(kp[0])  #Keypoint數(shù)據(jù)類型分析 /uploads/cj/201912/4041399.html',img)  plt.imshow(img),plt.show() def matchSift():  '''  匹配sift特征  '''  img1 = cv2.imread('../../data/box.png', 0) # queryImage  img2 = cv2.imread('../../data/box_in_scene.png', 0) # trainImage  sift = cv2.SIFT()  kp1, des1 = sift.detectAndCompute(img1, None)  kp2, des2 = sift.detectAndCompute(img2, None)  # 蠻力匹配算法,有兩個參數(shù),距離度量(L2(default),L1),是否交叉匹配(默認(rèn)false)  bf = cv2.BFMatcher()  #返回k個最佳匹配  matches = bf.knnMatch(des1, des2, k=2)  # cv2.drawMatchesKnn expects list of lists as matches.  #opencv2.4.13沒有drawMatchesKnn函數(shù),需要將opencv2.4.13/sources/samples/python2下的common.py和find_obj文件放入當(dāng)前目錄,并導(dǎo)入  p1, p2, kp_pairs = filter_matches(kp1, kp2, matches)  explore_match('find_obj', img1, img2, kp_pairs) # cv2 shows image  cv2.waitKey()  cv2.destroyAllWindows() def matchSift3():  '''  匹配sift特征  '''  img1 = cv2.imread('../../data/box.png', 0) # queryImage  img2 = cv2.imread('../../data/box_in_scene.png', 0) # trainImage  sift = cv2.SIFT()  kp1, des1 = sift.detectAndCompute(img1, None)  kp2, des2 = sift.detectAndCompute(img2, None)  # 蠻力匹配算法,有兩個參數(shù),距離度量(L2(default),L1),是否交叉匹配(默認(rèn)false)  bf = cv2.BFMatcher()  #返回k個最佳匹配  matches = bf.knnMatch(des1, des2, k=2)  # cv2.drawMatchesKnn expects list of lists as matches.  #opencv3.0有drawMatchesKnn函數(shù)  # Apply ratio test  # 比值測試,首先獲取與A 距離最近的點B(最近)和C(次近),只有當(dāng)B/C  # 小于閾值時(0.75)才被認(rèn)為是匹配,因為假設(shè)匹配是一一對應(yīng)的,真正的匹配的理想距離為0  good = []  for m, n in matches:    if m.distance < 0.75 * n.distance:      good.append([m])  img3 = cv2.drawMatchesKnn(img1, kp1, img2, kp2, good[:10], None, flags=2)  cv2.drawm  plt.imshow(img3), plt.show() matchSift()

以上這篇opencv-python 提取sift特征并匹配的實例就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持武林網(wǎng)之家。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 成人aaaaa片毛片按摩 | 久草导航| 制服丝袜成人动漫 | 亚洲一区在线国产 | 久久免费看毛片 | 国产乱色精品成人免费视频 | 久草在线观看福利视频 | 亚洲精品久久久久久 | 久久久久久久国产a∨ | 久草在线免费资源站 | 久久精品视频3 | 国产精品欧美久久久久一区二区 | 国产毛毛片一区二区三区四区 | 日韩av官网 | 成人免费毛片一 | 日韩视频高清 | 蜜桃视频在线观看免费 | 欧美18videos性处按摩 | 日韩视频一二区 | 国产精品久久久久久久久粉嫩 | 成人一区二区在线观看视频 | 午夜精品在线视频 | 国产深夜福利视频在线播放 | hdbbwsexvideo| 91午夜理伦私人影院 | 亚洲成人中文字幕在线 | 视频一区二区不卡 | 在线91视频 | 精品国产一区二 | 亚州成人在线观看 | 国产一区二区三区欧美 | 99国产精品自拍 | 久久久久一区二区三区四区五区 | 亚洲成人播放 | 九艹在线 | 国产成人精品免高潮在线观看 | 91av在线免费观看 | 国产精品久久久久影院老司 | 日本欧美在线播放 | 精品国产一区二区亚洲人成毛片 | 国产一极毛片 |