圖像識別之特征點檢測


'''
    特征點檢測:
        常用特征點檢測有:STAR特征點檢測 / SIFT特征點檢測
        特征點檢測結合了邊緣檢測與角點檢測從而識別出圖形的特征點。
        STAR特征點檢測相關API如下:
            import cv2 as cv
            # 創建STAR特征點檢測器
            star = cv.xfeatures2d.StarDetector_create()
            # 檢測出gray圖像所有的特征點
            keypoints = star.detect(gray)
            # drawKeypoints方法可以把所有的特征點繪制在mixture圖像中
            cv.drawKeypoints(original, keypoints, mixture,
                             flags=cv.DRAW_MATCHES_FLAGS_DRAW_RICH_KEYPOINTS)
            cv.imshow('Mixture', mixture)
'''
import cv2 as cv

original = cv.imread('./ml_data/table.jpg')
cv.imshow('Original', original)
gray = cv.cvtColor(original, cv.COLOR_BGR2GRAY)
cv.imshow('Gray', gray)
# 創建特征點檢測器
star = cv.xfeatures2d.StarDetector_create()
keypoints = star.detect(gray)
mixture = original.copy()
cv.drawKeypoints(original, keypoints, mixture, flags=cv.DRAW_MATCHES_FLAGS_DRAW_RICH_KEYPOINTS)
cv.imshow('Mixture', mixture)

cv.waitKey()

 

'''
    特征點檢測:
        常用特征點檢測有:STAR特征點檢測 / SIFT特征點檢測
        特征點檢測結合了邊緣檢測與角點檢測從而識別出圖形的特征點。
        STAR特征點檢測相關API如下:
            import cv2 as cv
            # 創建STAR特征點檢測器
            star = cv.xfeatures2d.StarDetector_create()
            # 檢測出gray圖像所有的特征點
            keypoints = star.detect(gray)
            # drawKeypoints方法可以把所有的特征點繪制在mixture圖像中
            cv.drawKeypoints(original, keypoints, mixture,
                             flags=cv.DRAW_MATCHES_FLAGS_DRAW_RICH_KEYPOINTS)
            cv.imshow('Mixture', mixture)
'''
import cv2 as cv

original = cv.imread('./ml_data/table.jpg')
cv.imshow('Original', original)
gray = cv.cvtColor(original, cv.COLOR_BGR2GRAY)
cv.imshow('Gray', gray)
# 創建特征點檢測器
sift = cv.xfeatures2d.SIFT_create()
keypoints = sift.detect(gray)
mixture = original.copy()
cv.drawKeypoints(original, keypoints, mixture, flags=cv.DRAW_MATCHES_FLAGS_DRAW_RICH_KEYPOINTS)
cv.imshow('Mixture', mixture)

cv.waitKey()

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM