【发布时间】:2017-08-29 04:49:52
【问题描述】:
借助此处提出的问题,我为 RobotFramework 编写了自己的图像比较函数。
from PIL import Image, ImageChops, ImageDraw, ImageFont
def check_image_files(self, file1, file2, file3) :
''' Check two image files
``file1``: absolute path to the first file
``file2``: absolute path to the second file
``file3``: absolute path to the compare file
'''
self.builtin.log("File1: %s" %file1)
self.builtin.log("File2: %s" %file2)
point_table = ([0] + ([255] * 255))
f1 = Image.open(file1)
f2 = Image.open(file2)
diff = ImageChops.difference(f1, f2)
diff = diff.convert('L')
diff = diff.point(point_table)
f3 = diff.convert('RGB')
f3.paste(f2, mask=diff)
f3.save(file3)
如果在文件中没有发现任何差异,现在的最终结果是完全黑屏,但我想得到一个真/假。所以如果两个文件不相同,我可以让测试用例通过/失败。现在,如果文件的一小部分不相同,那么测试用例就会成功,这不是我想要的。
我已阅读 PIL 文档,但无法获得所需的内容(顺便说一句,我是一名对编程感兴趣的测试人员)
【问题讨论】:
-
pillow.readthedocs.io/en/3.4.x/reference/… "如果图像完全为空,则此方法返回 None" 获取边界框,如果是
None,则图像中有匹配项
标签: python robotframework