先上效果图.

其中是logo标识,

是待检测图片.

代码如下.

#coding=utf-8
import cv2
import scipy as spimg1 = cv2.imread('x1.jpg',0) # queryImage
img2 = cv2.imread('x2.jpg',0) # trainImage# Initiate SIFT detector
sift = cv2.SIFT()# find the keypoints and descriptors with SIFT
kp1, des1 = sift.detectAndCompute(img1,None)
kp2, des2 = sift.detectAndCompute(img2,None)# FLANN parameters
FLANN_INDEX_KDTREE = 0
index_params = dict(algorithm = FLANN_INDEX_KDTREE, trees = 5)
search_params = dict(checks=50)   # or pass empty dictionary
flann = cv2.FlannBasedMatcher(index_params,search_params)
matches = flann.knnMatch(des1,des2,k=2)print 'matches...',len(matches)
# Apply ratio test
good = []
for m,n in matches:if m.distance < 0.75*n.distance:good.append(m)
print 'good',len(good)
# #####################################
# visualization
h1, w1 = img1.shape[:2]
h2, w2 = img2.shape[:2]
view = sp.zeros((max(h1, h2), w1 + w2, 3), sp.uint8)
view[:h1, :w1, 0] = img1
view[:h2, w1:, 0] = img2
view[:, :, 1] = view[:, :, 0]
view[:, :, 2] = view[:, :, 0]for m in good:# draw the keypoints# print m.queryIdx, m.trainIdx, m.distancecolor = tuple([sp.random.randint(0, 255) for _ in xrange(3)])#print 'kp1,kp2',kp1,kp2cv2.line(view, (int(kp1[m.queryIdx].pt[0]), int(kp1[m.queryIdx].pt[1])) , (int(kp2[m.trainIdx].pt[0] + w1), int(kp2[m.trainIdx].pt[1])), color)cv2.imshow("view", view)
cv2.waitKey()

飘逸的python - 使用图像匹配SIFT算法进行LOGO检测相关推荐

  1. 无人机航拍图像匹配——SIFT算法实践(含代码)

    无人机航拍图像匹配--SIFT算法实践(含代码) 一.摘要 二.SIFT算法的原理 1.尺度空间极值检测 &关键点定位 尺度不变性&尺度空间 高斯金字塔 2.方向分配 3.特征描述 4 ...

  2. python+openCV使用SIFT算法实现印章的总相似度检测

    python实现,使用SIFT算法和文字相似度检测算法,并使用了pyqt5做的印章相似度检测工具,还有很大优化空间,对于我这水平费了不少力气,记录一下. 首先整体流程是预建了一个印章库,包含若干张图片 ...

  3. 【老生谈算法】matlab实现sift算法的图像匹配——sift算法

    基于sift算法的图像匹配matlab实现 1.原文下载: 本算法原文如下,有需要的朋友可以点击进行下载 序号 原文(点击下载) 本项目原文 [老生谈算法]基于sift算法的图像匹配matlab实现. ...

  4. 【SIFT算法】极值检测关键点精确定位

    文章链接:https://blog.csdn.net/q_z_r_s 机器感知 一个专注于SLAM.机器视觉.Linux 等相关技术文章分享的公众号 从论文摘要中可以知道,SIFT算法的第一步就是进行 ...

  5. python实现基于SIFT算法的图像配准(仿射变换)

    话不多说,直接上代码,可以用的话别忘了请喝可乐!(手动笑哭脸) [用法] 第45.46行的输入: img1 = cv2.imread('sift/3.jpg') img2 = cv2.imread(' ...

  6. 图像特征提取与描述_角点特征02:SIFT算法+SURF算法

    SIFT/SURF算法 1.1 SIFT原理 前面两节我们介绍了Harris和Shi-Tomasi角点检测算法,这两种算法具有旋转不变性,但不具有尺度不变性,以下图为例,在左侧小图中可以检测到角点,但 ...

  7. 关键点检测算法——sift算法

    OpenCV+Python实现 shif算子 (一)SIFT算法分解为如下四步: 1.尺度空间极值检测:搜索所有尺度上的图像位置.通过高斯微分函数来识别潜在的对于尺度和旋转不变的兴趣点. 2.关键点定 ...

  8. 用 Python 实现哈希算法检测重复图片

    用 Python 实现哈希算法检测重复图片 - 简书 Python实现哈希算法,并检测图片重复的教程_Steven_ycs的博客-CSDN博客_python实现哈希

  9. 计算机视觉——基于sift算法的地理信息图像匹配

    目录 一.SIFT(尺度不变特征变换) 1.1 SIFT简介 1.2 SIFT算法可以解决的问题 1.3 SIFT算法实现特征匹配的三个主要流程 1.4 关键点检测的相关概念 1.4.1 哪些点是SI ...

  10. 计算机视觉课程-SIFT算法特征检测

    计算机视觉课程作业-SIFT算法特征检测 1.实验内容 1.1实验目的: 采集两幅图像,要求有视角和比例变化,完成两幅图像的SIFT特征检测,并对实验结果进行比较分析. 实验的问题是将同一个物体或事物 ...

最新文章

  1. 页面升紧急级访问_部落冲突10-13本 发育规划丨升什么性价比最高?
  2. LINQ访问DataTable
  3. pe下找不到ssd硬盘_【进入pe系统后认不到硬盘解决方法】进入pe系统看不到硬盘_pe系统不认硬盘...
  4. [iOS]通过xib定义Cell然后关联UICollectionView
  5. 21天Jenkins打卡Day14-maven服务
  6. Spring Boot 2.X 如何优雅的解决跨域问题?
  7. iPhoneアプリに本格ホラーアドベンチャー監獄脱出少女 android
  8. Linux下ffmpeg批量转换图片
  9. logstash安装 window版
  10. 逆水寒服务器维护多长时间,逆水寒11月8日更新维护 更新时间内容介绍
  11. 【思维模型】拥抱复杂性(第 1 部分)
  12. Python 文件加密
  13. 前端vue3+typescript搭建vite项目(初识vite+项目配置完善+屏幕适配)
  14. docker 使用 iso虚拟光驱一键式安装
  15. 在Android Studio 上为项目添加Git版本控制
  16. spring security中Authority、Role的区别
  17. c++ 字符串匹配算法Robin-Karp算法
  18. DC-DC PCB layout 指导
  19. 模拟PWM波的自适应取阈值算法
  20. mac下vscode配置c++环境

热门文章

  1. 华为“天才少年”稚晖君又出新作,从零开始造“客制化”智能键盘
  2. 华为联手沃达丰建立NB-IoT开放实验室
  3. 好用的dns服务器工具有哪些?
  4. 高清电子警察监控系统方案
  5. d3.js 旋转图形_PROE、Creo绘制手轮图形案例,二维草图绘制练习项目
  6. 为什么低通滤波器的作用相当于积分器
  7. 微信小程序怎样关闭直播插件
  8. python数字转换成中文大写_Python将阿拉伯数字转化为中文大写
  9. px和毫米的换算_px和mm换算(px相当于多少毫米)
  10. Word中如何输入花体数学字符