图像识别之特征点检测


'''
    特征点检测:
        常用特征点检测有: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