重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
如何在python中利用opencv对图片进行比对?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
10余年的江油网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。全网整合营销推广的优势是能够根据用户设备显示端的尺寸不同,自动调整江油建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。创新互联从事“江油网站设计”,“江油网站推广”以来,每个客户项目都认真落实执行。下面代码中利用了两种比对的方法,一 对图片矩阵(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的数据类型有哪些?
python的数据类型:1. 数字类型,包括int(整型)、long(长整型)和float(浮点型)。2.字符串,分别是str类型和unicode类型。3.布尔型,Python布尔类型也是用于逻辑运算,有两个值:True(真)和False(假)。4.列表,列表是Python中使用最频繁的数据类型,集合中可以放任何数据类型。5. 元组,元组用”()”标识,内部元素用逗号隔开。6. 字典,字典是一种键值对的集合。7. 集合,集合是一个无序的、不重复的数据组合。
关于如何在python中利用opencv对图片进行比对问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注创新互联行业资讯频道了解更多相关知识。