Python:如何测试图像生成工具



我创建了一个使用PIL生成图像(来自其他图像(的小工具。我现在想知道如何为此创建自动测试,因为测试需要将生成的图像与模板图像(也使用此工具生成(进行比较?

我预计,如果我进行更改或底层库中的一个进行更改,即使图像看起来与人类完全相同,它们在位级别上也不会完全相同。这种情况下的常见做法是什么?使用相似性度量,在低于某个阈值的情况下测试失败?

我有一个想法,但这肯定不是一个理想的解决方案。你可以在全屏上打开生成的图像(或指定一个区域(,下面的代码会在你的屏幕上搜索模板图像,其中会有生成的图像:

pyautogui.locateOnScreen('template_image.png', confidence=0.7, region=...)

如果找不到图像,则返回None。您可以在文档中阅读更多相关信息:https://pyautogui.readthedocs.io/en/latest/screenshot.html#the-定位功能

现在我将使用imagehash库,并将预构建和批准的图像的哈希与测试中生成的图像进行比较。我认为这在开发过程中已经足够好了,但在两者之间仍然需要手动目视检查,直到我相信散列会出现偏差。

最新更新