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

Python:如何测试图像生成工具?,python,image,testing,Python,Image,Testing,我创建了一个使用PIL生成图像(来自其他图像)的小工具。我现在想知道如何为此创建自动测试,因为测试需要将生成的图像与模板图像(也使用此工具生成)进行比较 我希望,如果我做了更改,或者某个底层库做了更改,图像在位级别上不会完全相同,即使它们看起来与人类相同。在这种情况下,通常的做法是什么?使用相似性度量并在某个阈值以下通过测试?我有一个想法,但这肯定不是一个理想的解决方案。您可以全屏打开生成的图像(或指定一个区域),下面的代码将在您的屏幕上搜索生成图像的模板图像: pyautogui.locate

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


我希望,如果我做了更改,或者某个底层库做了更改,图像在位级别上不会完全相同,即使它们看起来与人类相同。在这种情况下,通常的做法是什么?使用相似性度量并在某个阈值以下通过测试?

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

pyautogui.locateOnScreen('template_image.png',confidence=0.7,region=…)
如果找不到图像,则返回
None
。 您可以在文档中了解更多信息:

现在我将使用该库,并将预构建和批准的映像的哈希与测试中生成的映像进行比较。
我认为这是足够好的发展,但在两者之间手动视觉检查仍然需要知道,直到我相信散列将偏差。

我认为这是一个非常有效和有趣的问题,但你可能想考虑它是否会更适合,这样的语言不可知论的概念经常被接受。(我要强调的是,我认为这根本不是堆栈溢出的主题,所以决定转到Software Engineering.SE应该取决于您个人的信念,即在哪里可以得到对您最有帮助的答案。)