在 Tkinter 中找到相同的图像?

Find identical images in Tkinter?

我的 Tkinter GUI 直接从关联的 last.fm link 加载某个 song/artist 组合的专辑封面(看起来像这样:http://ift.tt/1Jepy2C因为它是由 ifttt.com 并重定向到 last.fm 上的 png 文件。) 当 last.fm 上没有专辑封面时,ifttt 将重定向到此图片:https://ifttt.com/images/no_image_card.png.

问题是这张图片的尺寸与方形专辑封面不同,这意味着我制作了一个 "N/A" png 文件,如果我收到那张图片,我会插入该文件。不幸的是,就像这样:

from tkinter import *
local_copy_of_not_available_image = PhotoImage(file="album_not_found.png")
internet_image = PhotoImage(data=b64_Album_data) # fetched b64 data through urllib, which should contain either an album cover or the n/a picture above
if internet_image == local_copy_of_not_available_image:
    actual_image = PhotoImage(file="my_album_not_found_square_replacement_picture.png")
else:
    actual_image = PhotoImage(data=b64_Album_data)

cover = Label(root, image=actual_image)
cover.pack()

mainloop()

不起作用。显然,即使它们是相同的图像,internet_image 中的 b64 数据与从我的硬盘驱动器加载的文件不同。 我的问题是,如何检查两张图片的原始数据是否完全相同,以便检测 ifttt 何时将他们的 n/a 图片发送给我?

我已经完全解决了这个问题,因为来自 last.fm 的所有专辑封面都是 300x300 像素的正方形图像。由于来自 ifttt 的 n/a 图像是矩形的,宽度大于高度,我有几种可能性:

1) 检查纵横比。如果不是1,我就没有封面图

2) 只是检查下载的图像的宽度。如果不是300px,我没有封面图。

3) 将下载图像的宽度与我本地错误图像副本的宽度进行比较。如果它们相等,我就没有封面图了。