直接上代码


# 自定义计算两个图片相似度函数
def img_similarity(img1_path, img2_path):""":param img1_path: 图片1路径:param img2_path: 图片2路径:return: 图片相似度"""try:# 读取图片img1 = cv2.imread(img1_path, cv2.IMREAD_GRAYSCALE)img2 = cv2.imread(img2_path, cv2.IMREAD_GRAYSCALE)w ,h = img1.shape# img1 = img1[0 + 45:h]# img2 = img2[0 + 45:h1]cv2.imshow("img1", img1)cv2.imshow("img2", img2)cv2.waitKey(0)# 初始化ORB检测器orb = cv2.ORB_create()kp1, des1 = orb.detectAndCompute(img1, None)kp2, des2 = orb.detectAndCompute(img2, None)# 提取并计算特征点bf = cv2.BFMatcher(cv2.NORM_HAMMING)# knn筛选结果matches = bf.knnMatch(des1, trainDescriptors=des2, k=2)# 查看最大匹配点数目good = [m for (m, n) in matches if m.distance < 0.75 * n.distance]# print(len(good))# print(len(matches))similary = float(len(good))/len(matches)print("(ORB算法)两张图片相似度为:%s" % similary)return similaryexcept:print('无法计算两张图片相似度')return '0'
if __name__ == '__main__':name1='e.jpg'name2='f.jpg'# similary 值为0-1之间,1表示相同similary = img_similarity(name1, name2)

文档: https://docs.opencv.org/3.3.1/d1/d89/tutorial_py_orb.html

参考:https://www.cnblogs.com/ronny/p/4083537.html

opencv(ORB算法)实现相似度检测相关推荐

  1. 特征提取与检测(三) --- ORB算法

    转载:ORB_关于对噪声.尺度.旋转的改进 简介  ORB的全称是ORiented Brief,是文章ORB: an efficient alternative to SIFT or SURF中提出的 ...

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

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

  3. ORB算法与opencv实现

      摘要:本文主要描述ORB算法原理以及opencv中ORB算法的实现.   关键字:ORB,FAST,BRIEF   ORB算法ICCV论文:ORB:an efficient alternative ...

  4. OpenCV之gpu 模块. 使用GPU加速的计算机视觉:GPU上的相似度检测(PNSR 和 SSIM)

    GPU上的相似度检测(PNSR 和 SSIM) 学习目标 在 OpenCV的视频输入和相似度测量 教程中我们已经学习了检测两幅图像相似度的两种方法:PSNR和SSIM.正如我们所看到的,执行这些算法需 ...

  5. linux图片相似度检测软件下载,移动端图像相似度算法选型

    概述 电商场景中,卖家为获取流量,常常出现重复铺货现象,当用户发布上传图像或视频时,在客户端进行图像特征提取和指纹生成,再将其上传至云端指纹库对比后,找出相似图片,杜绝重复铺货造成的计算及存储资源浪费 ...

  6. OpenCV(24)角点检测3 -- ORB

    目录 一.基础理论 1.原理 2.BRIEF算法介绍 1.介绍 2.过程 3.API介绍 1.ORB_create函数(初始化orb检测器) 2.orb.detectAndCompute函数(检测关键 ...

  7. OpenCV ORB角点检测

    ORB算法是FAST算法和BRIEF算法的结合,ORB可以用来对图像中的关键点快速创建特征向量,并用这些特征向量来识别图像中的对象. 实例化ORB orb = cv.ORB_create(nfeatu ...

  8. 使用opencv的LBF算法进行人脸关键点检测

    首先下载最新的opencv 和opencv_contrib, 然后按照在Windows下编译扩展OpenCV 3.1.0 + opencv_contrib的方法进行编译,其中核心一点就是先编译open ...

  9. java opencv orb_opencv python ORB算法

    理论 ORB(Oriented FAST and Rotated BRIEF)是一种快速特征点提取和描述的算法,这个算法是由Ethan Rublee, Vincent Rabaud, Kurt Kon ...

最新文章

  1. 一学长毕业临走前和我说的话
  2. python核心装饰_Python核心编程 | 装饰器
  3. oracle数据库【表复制】insert into select from跟create table as select * from 两种表复制语句区别...
  4. 在网上常听到说CEO CTO CIO CGO COO CFO什么什么..现在了解了一下..呵呵
  5. ZYNQ中断示例修改
  6. C#模拟MSN窗体抖动[原创]
  7. 关于公司内部DNS的整改建议
  8. HTML5中Nav元素作用及应用场景知识点
  9. 操作 mysql 不生成日志_详解MySQL的日志
  10. Java 基础【13】 I/O流概念分析整理
  11. springboot之设置mybatis打印sql输出
  12. 为什么我tracert经过H3C设备的时候,老是*号,不回包
  13. 讲座:数据库项目生命周期中的优化 讲稿下载
  14. Android篮球计分器论文,单片机课程设计报告 篮球计时计分器
  15. 业务层Service的作用
  16. Altium Designer 如何批量修改过孔盖油
  17. python机器学习---数据处理---文本数据处理
  18. linux的服务器时间不对,服务器时间跑得快或者不准怎么办(Linux)
  19. 小林子的日常维护之-java.lang.StackOverflowError: null
  20. 《C++ Concurrency in Action》笔记6 Avoiding problematic race conditions

热门文章

  1. 大数据开发面试题必备20题
  2. 2021年中国稀土永磁材料产量、需求量及发展趋势分析[图]
  3. iOS app上架规则
  4. 千呼万唤始出来 Azure Stack终落地
  5. SEO优化营销获客效果怎么样?
  6. 实现微信城市服务的思路以及踩过的坑
  7. html分页表格中的线条,HTML_Web分页打印 细线表格+分页打印之终极攻略,最近给客户做打印的时候,客 - phpStudy...
  8. vue读取mysql数据_vue.js获取数据库数据实例代码
  9. 文本在线查重系统(三)
  10. Smith + Nephew推出了Real Intelligence和新一代手持机器人平台CORI手术系统