在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 相关文章推荐
pymssql ntext字段调用问题解决方法
Dec 17 Python
Python编程中的文件操作攻略
Oct 16 Python
python中文件变化监控示例(watchdog)
Oct 16 Python
基于Django的python验证码(实例讲解)
Oct 23 Python
VTK与Python实现机械臂三维模型可视化详解
Dec 13 Python
Python比较2个时间大小的实现方法
Apr 10 Python
python检测IP地址变化并触发事件
Dec 26 Python
Python中模块(Module)和包(Package)的区别详解
Aug 07 Python
Python 复平面绘图实例
Nov 21 Python
ansible动态Inventory主机清单配置遇到的坑
Jan 19 Python
python3 简单实现组合设计模式
Jul 02 Python
python3 删除所有自定义变量的操作
Apr 08 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
谈一谈收音机的高放电路
2021/03/02 无线电
php设计模式 Builder(建造者模式)
2011/06/26 PHP
JpGraph php柱状图使用介绍
2011/08/23 PHP
PHP 获取文件路径(灵活应用__FILE__)
2013/02/15 PHP
php设计模式之单例模式实例分析
2015/02/25 PHP
在UpdatePanel内jquery easyui效果失效的解决方法
2010/04/11 Javascript
jquery nth-child()选择器的简单应用
2010/07/10 Javascript
javascript对JSON数据排序的3个例子
2014/04/12 Javascript
JQuery判断radio是否选中并获取选中值的示例代码
2014/10/17 Javascript
为什么JavaScript没有块级作用域
2016/05/22 Javascript
使用jquery获取url以及jquery获取url参数的实现方法
2016/05/25 Javascript
Js动态设置rem来实现移动端字体的自适应代码
2016/10/14 Javascript
微信小程序实现图片自适应(支持多图)
2017/01/25 Javascript
微信小程序 scroll-view实现锚点滑动的示例
2017/12/06 Javascript
让 babel webpack vue 配置文件支持智能提示的方法
2019/06/22 Javascript
javascript执行上下文、变量对象实例分析
2020/04/25 Javascript
python:print格式化输出到文件的实例
2018/05/14 Python
Python requests库用法实例详解
2018/08/14 Python
Pycharm 设置默认头的图文教程
2019/01/17 Python
python 获取微信好友列表的方法(微信web)
2019/02/21 Python
简单介绍django提供的加密算法
2019/12/18 Python
Python with语句和过程抽取思想
2019/12/23 Python
TensorFlow实现保存训练模型为pd文件并恢复
2020/02/06 Python
css3中less实现文字长阴影(long shadow)
2020/04/24 HTML / CSS
新加坡网上花店:FlowerAdvisor新加坡
2018/10/05 全球购物
Exception类的常用方法
2012/06/16 面试题
物业招聘计划书
2014/01/10 职场文书
2014年小班元旦活动方案
2014/02/16 职场文书
幼儿园春季开学寄语
2014/04/03 职场文书
治庸问责心得体会
2014/09/12 职场文书
2014年打非治违工作总结
2014/11/13 职场文书
优秀教师先进材料
2014/12/16 职场文书
幼儿园教学工作总结2015
2015/05/12 职场文书
2015年乡镇纪委工作总结
2015/05/26 职场文书
仰望星空观后感
2015/06/10 职场文书
团拜会主持词
2015/07/04 职场文书