日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

SIFT特征提取和匹配

發布時間:2024/1/1 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SIFT特征提取和匹配 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、sift特征原理部分:

SIFT特征詳解 - Brook_icv - 博客園 (cnblogs.com)

?sift特征提取算法_July_Zh1的博客-CSDN博客_sift特征提取算法

二、sift特征提取實踐部分:

代碼實現:Python+OpenCV

import cv2 def sift_kp(image):gray_image = cv2.cvtColor(image,cv2.COLOR_BGR2GRAY)sift = cv2.SIFT.create()kp,des = sift.detectAndCompute(image, None)#kp_image = cv2.drawKeypoints(image, kp, None)kp_image = cv2.drawKeypoints(image, kp, image, (122, 255, 122), flags=cv2.DRAW_MATCHES_FLAGS_DRAW_RICH_KEYPOINTS)return kp_image,kp,des #image = cv2.imread('E:\pythonProject\\N2.jpg') #image = cv2.imread('E:\pythonProject\image1.jpg') image = cv2.imread('E:\pythonProject\ldh1.jpg') kp_image, _, des = sift_kp(image) print(image.shape, des.shape) cv2.namedWindow('sift features',cv2.WINDOW_NORMAL) cv2.imshow('sift features', kp_image) if cv2.waitKey(0) == 27:cv2.destroyAllWindows()

老版本的OpenCV,則第四行用

sift = cv2.xfeatures2d_SIFT.create()

代替?

參考:OpenCV-Python之——圖像SIFT特征提取 - 簡書 (jianshu.com)

三、sift特征的關鍵點顯示部分:

cv2.drawKeypoints(image, keypoints, outImage, color=None, flags=None)
image?? ?原始圖像,可以使三通道或單通道圖像;

keypoints?? ?特征點向量,向量內每一個元素是一個KeyPoint對象,包含了特征點的各種屬性信息;
outImage?? ?特征點繪制的畫布圖像,可以是原圖像;
color?? ?繪制的特征點的顏色信息,默認繪制的是隨機彩色;
flags?? ?特征點的繪制模式,其實就是設置特征點的那些信息需要繪制,那些不需要繪制,有以下幾種模式可選:

DRAW_MATCHES_FLAGS_DEFAULT:只繪制特征點的坐標點,顯示在圖像上就是一個個小圓點,每個小圓點的圓心坐標都是特征點的坐標。
DRAW_MATCHES_FLAGS_DRAW_OVER_OUTIMG:函數不創建輸出的圖像,而是直接在輸出圖像變量空間繪制,要求本身輸出圖像變量就是一個初始化好了的,size與type都是已經初始化好的變量。
DRAW_MATCHES_FLAGS_NOT_DRAW_SINGLE_POINTS :單點的特征點不被繪制。
DRAW_MATCHES_FLAGS_DRAW_RICH_KEYPOINTS:繪制特征點的時候繪制的是一個個帶有方向的圓,這種方法同時顯示圖像的坐標,size和方向,是最能顯示特征的一種繪制方式

參考:cv2.drawKeypoints函數(opencv學習)_勤奮騷年的博客-CSDN博客_cv2.drawkeypoints

總結

以上是生活随笔為你收集整理的SIFT特征提取和匹配的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。