时间:2021-05-22
下面代码中利用了两种比对的方法,一 对图片矩阵(m x m)求解特征值,通过比较特征值是否在一定的范围内,判断图片是否相同。二 对图片矩阵(m x m)中1求和,通过比较sum和来比较图片。
# -*- coding: utf-8 -*-import cv2 as cvimport numpy as npimport osfile_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_allnp.save('match_result1.npy',result_all)以上这篇在python中利用opencv简单做图片比对的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文主要介绍的是利用Python在图片中添加文字的两种方法,下面分享处理供大家参考学习,下来要看看吧一、使用OpenCV在图片中添加文字看上去很简单,但是如果是
利用Opencv中的Houghline方法进行直线检测—python语言这是给Python部落翻译的文章,请在这里看原文。在图像处理中,霍夫变换用来检测任意能够
假如文件夹有大量视频文件,需求目标是想从每个视频中提取一帧作为视频的一个封面图片,本文利用opencv-python模块实现需求。结合自己的工作,做一下简单的记
上一篇文章中,我们介绍了python实现图片处理和特征提取详解,这里我们再来看看Python通过OpenCV实现批量剪切图片,具体如下。做图像处理需要大批量的修
在这篇文章里我们聊一下Python实现图片裁剪的两种方式,一种利用了Pillow,还有一种利用了OpenCV。两种方式都需要简单的几行代码,这可能也就是现在Py