【发布时间】:2013-07-16 09:38:15
【问题描述】:
我想比较 2 张肉眼看起来相同但像素略有不同的图像。当使用 selenium 和 rmagick 比较这两个图像时,我总是得到错误的结果,但我想获得通过结果,因为这些图像的内容在肉眼观察时是相同的。对我的情况有什么建议吗?谢谢
请看一些图片,例如:
图像 1 和图像 2 是从运行 selenium 时具有不同分辨率的 2 个显示器的屏幕截图中裁剪出来的。
【问题讨论】:
-
这应该是可能的,因为您可以在 rmagick 的比较命令中添加一个模糊因子。但是,有很多方法可以使图像“相同”。您能否提供两个相似图像的示例(如果较大,则缩小它们的尺寸),而您想说的是实际上不同的图像?如果可以,请在问题中包含它们,而不是链接。
-
我没有足够的声誉来包含图片,所以请通过链接查看我的图片。我还有 2 个其他图像非常相似:图像 3 和图像 4 非常相似图像 3:i.stack.imgur.com/2JQJG.png 图像 4 i.stack.imgur.com/ICSQG.png。请给我一些关于它们的想法
-
第一对图片是截图,内容相同,但有一个白边。第二对彼此偏移。这也是 Selenium 需要如何处理它们的方式吗?您是否提前知道偏移和边框/缩放效果有多少?
-
我刚刚熟悉 rmagick,所以我还不知道?你能给我解释一下吗?谢谢。
-
对于这些图像,我认为我知道的不足以提供帮助。但是,看看 Rmagick 的 compare_channel 方法:imagemagick.org/RMagick/doc/image1.html#compare_channel - 只要像素在两个图像之间对齐,它就可以很好地工作。根据您获取图像的方式,您可能需要做一些额外的工作,例如先裁剪和调整大小
标签: ruby selenium-webdriver rmagick