在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插入排序算法的实现代码
Nov 21 Python
python使用cStringIO实现临时内存文件访问的方法
Mar 26 Python
Python编写简单的HTML页面合并脚本
Jul 11 Python
Python入门之后再看点什么好?
Mar 05 Python
Django打印出在数据库中执行的语句问题
Jul 25 Python
Django如何将URL映射到视图
Jul 29 Python
PyTorch: 梯度下降及反向传播的实例详解
Aug 20 Python
python与js主要区别点总结
Sep 13 Python
python 爬取豆瓣网页的示例
Apr 13 Python
Python中Selenium对Cookie的操作方法
Jul 09 Python
Python GUI编程之tkinter 关于 ttkbootstrap 的使用详解
Mar 03 Python
Python 中面向接口编程
May 20 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极大的增强功能和性能
2006/10/09 PHP
php+mysqli批量查询多张表数据的方法
2015/01/29 PHP
php实现TCP端口检测的方法
2015/04/01 PHP
实例讲解yii2.0在php命令行中运行的步骤
2015/12/01 PHP
JavaScript 面向对象编程(1) 基础
2010/05/18 Javascript
js word表格动态添加代码
2010/06/07 Javascript
各浏览器中querySelector和querySelectorAll的实现差异分析
2012/05/23 Javascript
JavaScript splice()方法详解
2020/09/22 Javascript
node.js中的fs.statSync方法使用说明
2014/12/16 Javascript
JS实现可直接显示网页代码运行效果的HTML代码预览功能实例
2015/08/06 Javascript
JS动态日期时间的获取方法
2015/09/28 Javascript
JS DOM实现鼠标滑动图片效果
2020/09/17 Javascript
Node.js的项目构建工具Grunt的安装与配置教程
2016/05/12 Javascript
简单了解JavaScript操作XPath的一些基本方法
2016/06/03 Javascript
Vue服务端渲染和Vue浏览器端渲染的性能对比(实例PK )
2017/03/31 Javascript
JavaScript数据结构与算法之队列原理与用法实例详解
2017/11/22 Javascript
@angular前端项目代码优化之构建Api Tree的方法
2018/12/24 Javascript
Vue+Koa2 打包后进行线上部署的教程详解
2019/07/31 Javascript
Python操作CouchDB数据库简单示例
2015/03/10 Python
python机器学习实战之K均值聚类
2017/12/20 Python
使用python3实现操作串口详解
2019/01/01 Python
Python Pywavelet 小波阈值实例
2019/01/09 Python
详解PyQt5信号与槽的几种高级玩法
2020/03/24 Python
keras 实现轻量级网络ShuffleNet教程
2020/06/19 Python
详解Python流程控制语句
2020/10/28 Python
巴西儿童时尚购物网站:Dinda
2019/08/14 全球购物
荷兰家电销售网站:Welhof
2020/12/08 全球购物
写一个函数,求一个字符串的长度。在main函数中输入字符串,并输出其长度
2015/11/18 面试题
毕业生多媒体设计求职信
2013/10/12 职场文书
测绘工程个人的自我评价
2013/11/10 职场文书
应急管理工作总结2015
2015/05/04 职场文书
绿里奇迹观后感
2015/06/15 职场文书
2016继续教育培训学习心得体会
2016/01/19 职场文书
四年级数学教学反思
2016/02/16 职场文书
用基于python的appium爬取b站直播消费记录
2021/04/17 Python
php去除deprecated的实例方法
2021/11/17 PHP