zoukankan      html  css  js  c++  java
  • 图像识别之特征点检测

    '''
        特征点检测:
            常用特征点检测有: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()
  • 相关阅读:
    Java 匿名内部类
    【嘎】数组-搜索插入位置
    【嘎】数组-1266. 访问所有点的最小时间
    【嘎】数组-1313. 解压缩编码列表
    【嘎】数组-1431. 拥有最多糖果的孩子
    element-ui下拉多选报错Error in event handler for "handleOptionClick": "TypeError: value.push is not a function"
    【嘎】数组-有效的山脉数组
    【嘎】数组-打家劫舍
    【嘎】字符串-字符串中的第一个唯一字符
    linux
  • 原文地址:https://www.cnblogs.com/yuxiangyang/p/11257968.html
Copyright © 2011-2022 走看看