在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中正则表达式的使用详解
Oct 17 Python
分享一下如何编写高效且优雅的 Python 代码
Sep 07 Python
Python多项式回归的实现方法
Mar 11 Python
python绘制多个子图的实例
Jul 07 Python
pytorch 输出中间层特征的实例
Aug 17 Python
Python 70行代码实现简单算式计算器解析
Aug 30 Python
解决paramiko执行命令超时的问题
Apr 16 Python
Python包资源下载路径报404解决方案
Nov 05 Python
Jupyter Notebook安装及使用方法解析
Nov 12 Python
python如何用matplotlib创建三维图表
Jan 26 Python
python实现大文本文件分割成多个小文件
Apr 20 Python
Python爬虫之爬取某文库文档数据
Apr 21 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
wordpress之wp-settings.php
2007/08/17 PHP
Php Mssql操作简单封装支持存储过程
2009/12/11 PHP
PHP实现深度优先搜索算法(DFS,Depth First Search)详解
2017/09/16 PHP
JavaScript prototype属性深入介绍
2012/11/27 Javascript
深入理解javaScript中的事件驱动
2013/05/21 Javascript
js 赋值包含单引号双引号问题的解决方法
2014/02/26 Javascript
js实现可兼容IE、FF、Chrome、Opera及Safari的音乐播放器
2015/02/11 Javascript
jquery实现滑动特效代码
2015/08/10 Javascript
AngularJS基础 ng-focus 指令简单示例
2016/08/01 Javascript
js实现界面向原生界面发消息并跳转功能
2016/11/22 Javascript
jQuery实现链接的title快速出现的方法
2017/02/20 Javascript
JavaScript实现左右下拉框动态增删示例
2017/03/09 Javascript
浅谈Angular2 ng-content 指令在组件中嵌入内容
2017/08/18 Javascript
Vue中添加手机验证码组件功能操作方法
2017/12/07 Javascript
详解a标签添加onclick事件的几种方式
2019/03/29 Javascript
仿ElementUI实现一个Form表单的实现代码
2019/04/23 Javascript
d3.js实现图形缩放平移
2019/12/19 Javascript
Vue将props值实时传递 并可修改的操作
2020/08/09 Javascript
[01:17]辉夜杯战队访谈宣传片—EHOME
2015/12/25 DOTA
python从sqlite读取并显示数据的方法
2015/05/08 Python
python添加模块搜索路径方法
2017/09/11 Python
Python学习笔记之if语句的使用示例
2017/10/23 Python
详解tensorflow实现迁移学习实例
2018/02/10 Python
python random从集合中随机选择元素的方法
2019/01/23 Python
印度网上购物首选目的地:Flipkart
2016/08/01 全球购物
高级3D打印市场:Gambody
2019/12/26 全球购物
园林设计师自荐信
2013/11/18 职场文书
高三体育教学反思
2014/01/29 职场文书
2014道德模范事迹材料
2014/02/16 职场文书
销售人员求职的自我评价分享
2014/03/15 职场文书
冬季安全检查方案
2014/05/23 职场文书
迎国庆演讲稿
2014/09/15 职场文书
计划生育证明书写要求
2014/09/17 职场文书
街道党工委党的群众路线教育实践活动对照检查材料思想汇报
2014/10/05 职场文书
学雷锋感言
2015/08/03 职场文书
python3读取文件指定行的三种方法
2021/05/24 Python