Sikuli 和具有透明背景的图像
Sikuli and Images with a Transparant background
我最近正在尝试使用 Sikuli 进行测试,并尝试使用具有透明背景的图像。
例如使用 Sikuli IDE 我们定义:
Image_FireFox = ("FireFox.png")
现在我把那个 "FireFox.png" 和我用 Paint.NET 调整了它使背景透明。然后我再次将它保存到 "FireFox.png",并将新的 .png 放在 Sikuli 最初放置它的地图中。
当我再次打开 IDE 时,该图像显示为黑色背景(并且不透明)。而且我的 Sikuli 脚本不再识别该图像。如果我在 Windows 查看器中打开图像,背景仍然是透明的。
其背后的想法是让图像更好地识别,然后我的脚本就不会在意FireFox图标的背景是白色,红色还是任何颜色。
有谁知道Sikuli有没有办法处理透明背景的图片?这样在桌面上找到一个图标就更好了,背景就不再重要了。
Sikuli(或者我应该说它正在使用的 OpenCV 核心)不关心图像本身的背景。它所做的只是按原样扫描整个屏幕,就像您看到的那样。它不知道图像类型或其他任何东西,只是纯粹的视觉外观。也就是说,如果您的图像自您第一次创建图案以来一直保持不变,并且您可以在屏幕上唯一地检测到它,那就行得通了。
据我了解,这与您想要做的完全相反。不要尝试更改图像背景,因为如果您这样做,图像后面将变得可见的所有内容(由于透明度)将阻止 Sikuli 检测它而不是帮助它。请记住,Sikuli 仅处理矩形图案,因此矩形图像以外的任何内容均无效。
关于它在 IDE 中的样子,我不确定。这可能是因为不支持具有透明 alpha 通道的图像。这个问题你可以去Sikuli官方论坛问here.
是时候添加更新的答案了。
截至当前状态,sikuli 已被 sikulix 取代。 sikulix 现在可以安静地处理透明甚至蒙版图像。
看这里link
我最近正在尝试使用 Sikuli 进行测试,并尝试使用具有透明背景的图像。
例如使用 Sikuli IDE 我们定义:
Image_FireFox = ("FireFox.png")
现在我把那个 "FireFox.png" 和我用 Paint.NET 调整了它使背景透明。然后我再次将它保存到 "FireFox.png",并将新的 .png 放在 Sikuli 最初放置它的地图中。
当我再次打开 IDE 时,该图像显示为黑色背景(并且不透明)。而且我的 Sikuli 脚本不再识别该图像。如果我在 Windows 查看器中打开图像,背景仍然是透明的。
其背后的想法是让图像更好地识别,然后我的脚本就不会在意FireFox图标的背景是白色,红色还是任何颜色。
有谁知道Sikuli有没有办法处理透明背景的图片?这样在桌面上找到一个图标就更好了,背景就不再重要了。
Sikuli(或者我应该说它正在使用的 OpenCV 核心)不关心图像本身的背景。它所做的只是按原样扫描整个屏幕,就像您看到的那样。它不知道图像类型或其他任何东西,只是纯粹的视觉外观。也就是说,如果您的图像自您第一次创建图案以来一直保持不变,并且您可以在屏幕上唯一地检测到它,那就行得通了。
据我了解,这与您想要做的完全相反。不要尝试更改图像背景,因为如果您这样做,图像后面将变得可见的所有内容(由于透明度)将阻止 Sikuli 检测它而不是帮助它。请记住,Sikuli 仅处理矩形图案,因此矩形图像以外的任何内容均无效。
关于它在 IDE 中的样子,我不确定。这可能是因为不支持具有透明 alpha 通道的图像。这个问题你可以去Sikuli官方论坛问here.
是时候添加更新的答案了。 截至当前状态,sikuli 已被 sikulix 取代。 sikulix 现在可以安静地处理透明甚至蒙版图像。 看这里link