我已经使用pyscreenshot在python中创建了一个程序,它周期性地截取了一个屏幕的特定区域,它将包含几个预定义的图像之一。我正在寻找从文件加载每个这些图像到列表中,并将它们与屏幕截图进行比较,以查看当前显示哪些图像。最初文件由screenshotting影像创建,因为他们在屏幕上:如何比较pscreenshot中截取的屏幕截图和保存的屏幕截图?
while True:
filenm = str(i) + ".png"
im=ImageGrab.grab(bbox=(680,640,735,690)) #accross, down
im.save(filenm)
time.sleep(1)
i = i + 1
然后,当我试图对它们进行比较总是报告错误:
image2 = Image.open("04.png")
im=ImageGrab.grab(bbox=(680,640,735,690)) #accross, down
if im == image2:
print "TRUE"
else:
print "FALSE"
但是比较两个保存到文件中的图像工作原理:
image = Image.open("03.png")
image2 = Image.open("04.png")
if image == image2:
print "TRUE"
else:
print "FALSE"
所以我的问题是如何做的影像会有所不同,一旦从文件加载,我怎么能比较“活”的截图从文件加载图像?
这看起来接近我所需要的,但请记住,我不想加载两个文件进行比较,因为这需要每秒保存一个屏幕截图并一遍又一遍地加载相同的比较文件。我需要使用PIL.Image.Image和PIL.pngImagePlugin.PngImageFile。 –