美文网首页
9.6 检测SIFT特征点

9.6 检测SIFT特征点

作者: MaskStar | 来源:发表于2018-11-09 20:04 被阅读0次
    # -*- coding:utf8 -*-
    import cv2
    import numpy as np
    
    #加载图像
    input_file = 'image/2.jpg'
    img = cv2.imread(input_file)
    
    #将图像转化为灰度图像
    img_gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
    
    # 显示图像
    cv2.imshow('img',img)
    cv2.imshow('img_gray',img_gray)
    
    # 初始化SIFT检测器对象并提取关键点
    sift = cv2.xfeatures2d.SIFT_create()
    keypoints = sift.detect(img_gray,None)
    
    print('keypoints类型',type(keypoints))
    # keypoints 是指突出的点,但他们并不是特征    基本指出了突出点的位置,SIFT可以作为有效的特征提取器
    #在输出图像上画出关键点
    
    img_sift = np.copy(img)
    
    cv2.drawKeypoints(img,keypoints,img_sift,flags=cv2.DRAW_MATCHES_FLAGS_DRAW_RICH_KEYPOINTS)
    
    cv2.imshow('SIFT IMAGE',img_sift)
    cv2.waitKey()
    

    原图

    原图

    灰度图像

    灰度图像

    SIFT检测图像

    SIFT检测图像

    相关文章

      网友评论

          本文标题:9.6 检测SIFT特征点

          本文链接:https://www.haomeiwen.com/subject/bttaxqtx.html