python判断图片是否一样_openCV 判断两个图片是否相同

一、背景

在做安卓端的自动化测试,使用opencv图片对比。

上网找资源

https://www.cnblogs.com/webRobot/p/6216994.html

明明一样的图片还能不一样?我很懵。。。

import cv2

import numpy as np

file1 = 'update_before.png'

file2 = 'update_after.png'

im1 = cv2.imread(file1)

im2 = cv2.imread(file2)

# print(im1)

# print('这里是分割')

# print(im2)

if im1.shape == im2.shape:

print('shape一样')

else:

print('shape not equal')

difference = cv2.subtract(im1,im2)

print(difference)

result = not np.any(difference)

if result is False:

print('一样')

else:

cv2.imwrite('reslult.jpg',difference)

print('不一样')

为了验证,把图片数组打印出来,一模一样。

后来发现是参考的博文错了。

后面自己找了英文的解释来看:

意思是说:

在做图片对比时,应先比较图片的shape和pixel值是否一样,在这个前提下去调用:difference = cv2.subtract(im1,im2) 比较两者的不同。数组 相减为0,返回False,图片一样。

所以应该是 if result is False:

print(‘一样’)。

总结:

1、对代码应该有自己的理解。

2、不断总结。

3、加油。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值