gpt4 book ai didi

python-3.x - 使用 numpy 数组比较两个相似的 PIL 图像不起作用

转载 作者:行者123 更新时间:2023-12-04 18:37:26 25 4
gpt4 key购买 nike

我正在尝试比较两张图像,看看它们之间有多相似。
图一:
image one
图二:
enter image description here
我尝试了两种不同的方法来比较图像,但两种方法都说它们甚至不接近。
首先,尝试比较:

from PIL import Image, ImageChops
t1 = Image.open('./t1.png').convert("RGB")
t2 = Image.open('./t2.png').convert("RGB")
diff = ImageChops.difference(t1, t2)

if diff.getbbox():
print("images are different") # This is the result each time
else:
print("images are the same")
我想也许它们只有几个像素,所以我尝试与 numpy 进行比较:
import numpy as np
np_t1 = np.array(t1)
np_t2 = np.array(t2)
print(np.mean(np_t1 == np_t2)) # This should return something around .90 or above but instead it returns 0
不知道我做错了什么。这是我的代码的链接: https://github.com/timothy/image_diff/blob/master/test.py
任何帮助深表感谢!

最佳答案

它们是不同的形状:

t1.shape
(81, 81, 3)
t2.shape
(81, 80, 3)

print(np.mean(t1[:,:-1,:] == t2))
0.9441358024691358
当您使用 t1 == t2 ,因为数组的大小不同,它返回单个 False , 而在 t1[:,:-1,:] == t2 ,由于数组具有相同的形状,因此它返回一个具有相同形状的数组,并进行逐元素比较。

关于python-3.x - 使用 numpy 数组比较两个相似的 PIL 图像不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62617586/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com