• 图像识别之特征点检测


    '''
        特征点检测:
            常用特征点检测有: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()
  • 相关阅读:
    设计模式-17-迭代器
    设计模式-16-备忘录
    微服务架构设计
    数据库拆分案例
    生成多个git ssh密钥
    分布式数据中间件TDDL、Amoeba、Cobar、MyCAT架构比较
    maven工程 java 实现文件上传 SSM ajax异步请求上传
    MySQL的分区、分表、集群
    Redis实现分布式锁原理与实现分析
    关于消息队列的使用
  • 原文地址:https://www.cnblogs.com/yuxiangyang/p/11257968.html
Copyright © 2020-2023  润新知