在python中利用opencv简单做图片比对的方法


Posted in Python onJanuary 24, 2019

下面代码中利用了两种比对的方法,一 对图片矩阵(m x m)求解特征值,通过比较特征值是否在一定的范围内,判断图片是否相同。二 对图片矩阵(m x m)中1求和,通过比较sum和来比较图片。

# -*- coding: utf-8 -*-
import cv2 as cv
import numpy as np
import os
file_dir_a='C:\Users\wt\Desktop\data\image1\\'
file_dir_b='C:\Users\wt\Desktop\data\image\\'
savepath='.\'

all_file_name_a=os.listdir(file_dir_a)
all_file_name_b=os.listdir(file_dir_b)
image_all_a=[]
image_all_b=[]
for name in all_file_name_a:
  image_one=[]
  image = cv.imread(file_dir_a+name, cv.IMREAD_GRAYSCALE)
  """arg是计算输入图片矩阵的特征值,通过对特征值的比较来实现图片的比对
  """
  # arg=np.linalg.eigvals(image) 
  """arg是计算输入二值图片矩阵中1的个数,通过1的总数来实现图片的比对
  """
  arg=sum(image)
  image_one.append(name)
  image_one.append(arg)
  image_all_a.append(image_one)#将一个图片的信息写入
  print '读入a'
# np.save('img_a.npy',image_all_a)
for name in all_file_name_b:
  image_one=[]
  image = cv.imread(file_dir_b+name, cv.IMREAD_GRAYSCALE)
  """同上
  """
  # arg=np.linalg.eigvals(image)
  arg=sum(image)
  image_one.append(name)
  image_one.append(arg)
  image_all_b.append(image_one)#将一个图片的信息写入
  print '读入b'
# np.save('img_b.npy',image_all_b)
print '开始比较'
result_all=[]
for a in image_all_a: #比较小的
  result = []
  for b in image_all_b:
    # print sum(a[1]-b[1])
    if abs(sum(a[1]-b[1]))<0.00001:
      result.append(a[0])
      result.append(b[0])
      result_all.append(result)
print '比较结束'
print result_all

np.save('match_result1.npy',result_all)

以上这篇在python中利用opencv简单做图片比对的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python开发之str.format()用法实例分析
Feb 22 Python
python基于phantomjs实现导入图片
May 13 Python
Python存取XML的常见方法实例分析
Mar 21 Python
Python PyAutoGUI模块控制鼠标和键盘实现自动化任务详解
Sep 04 Python
Python微医挂号网医生数据抓取
Jan 24 Python
解决python super()调用多重继承函数的问题
Jun 26 Python
python3 中的字符串(单引号、双引号、三引号)以及字符串与数字的运算
Jul 18 Python
python ftplib模块使用代码实例
Dec 31 Python
解决Pycharm中恢复被exclude的项目问题(pycharm source root)
Feb 14 Python
Django serializer优化类视图的实现示例
Jul 16 Python
无需压缩软件,用python帮你操作压缩包
Aug 17 Python
Django数据模型中on_delete使用详解
Nov 30 Python
正确理解Python中if __name__ == '__main__'
Jan 24 #Python
对python读取CT医学图像的实例详解
Jan 24 #Python
python 读取dicom文件,生成info.txt和raw文件的方法
Jan 24 #Python
Python可视化mhd格式和raw格式的医学图像并保存的方法
Jan 24 #Python
python Selenium实现付费音乐批量下载的实现方法
Jan 24 #Python
在python下读取并展示raw格式的图片实例
Jan 24 #Python
Python字典的核心底层原理讲解
Jan 24 #Python
You might like
PHP源代码数组统计count分析
2011/08/02 PHP
php中通过curl模拟登陆discuz论坛的实现代码
2012/02/16 PHP
PHP使用GD库输出汉字的方法【测试可用】
2016/11/10 PHP
PHP随机获取未被微信屏蔽的域名(微信域名检测)
2017/03/19 PHP
centos下file_put_contents()无法写入文件的原因及解决方法
2017/04/01 PHP
PHP高效获取远程图片尺寸和大小的实现方法
2017/10/20 PHP
javascript显示隐藏层比较不错的方法分析
2008/09/30 Javascript
js 覆盖和重载 函数
2009/09/25 Javascript
JavaScript的eval JSON object问题
2009/11/15 Javascript
jquery.boxy插件的iframe扩展代码
2010/07/02 Javascript
jQuery参数列表集合
2011/04/06 Javascript
JS鼠标事件大全 推荐收藏
2011/11/01 Javascript
JavaScript作用域链使用介绍
2013/08/29 Javascript
使用apply方法实现javascript中的对象继承
2013/12/16 Javascript
showModalDialog模态对话框的使用详解以及浏览器兼容
2014/01/11 Javascript
jQuery.holdReady()使用方法
2014/05/20 Javascript
JS学习之表格的排序简单实例
2016/05/16 Javascript
基于cssSlidy.js插件实现响应式手机图片轮播效果
2016/08/30 Javascript
JS实现中国公民身份证号码有效性验证
2017/02/20 Javascript
layui表格内放置图片,并点击放大的实例
2019/09/10 Javascript
Vue监听滚动实现锚点定位(双向)示例
2019/11/13 Javascript
详解React 条件渲染
2020/07/08 Javascript
JQuery通过键盘控制键盘按下与松开触发事件
2020/08/07 jQuery
朴素贝叶斯算法的python实现方法
2014/11/18 Python
深入浅析python定时杀进程
2016/06/06 Python
python django生成迁移文件的实例
2019/08/31 Python
Python阶乘求和的代码详解
2020/02/14 Python
科颜氏英国官网:Kiehl’s英国
2019/11/20 全球购物
普通PHP程序员笔试题
2016/01/01 面试题
护理工作感言
2014/01/16 职场文书
教师三严三实学习心得体会
2014/10/11 职场文书
车间主任岗位职责
2015/02/03 职场文书
2015年司机年终工作总结
2015/05/14 职场文书
傲慢与偏见读书笔记
2015/06/29 职场文书
一篇文章了解正则表达式的替换技巧
2022/02/24 Javascript
pytorch分类模型绘制混淆矩阵以及可视化详解
2022/04/07 Python