2015-04-18 128 views
2

我想用Sikuli和透明背景图像的使用最近测试的东西。Sikuli和透明背景的图像

例如与Sikuli IDE我们定义:

Image_FireFox = ("FireFox.png") 

现在我把那个“FireFox.png”我已经与Paint.NET调整,它使背景TRANSPARANT。然后我再次将它保存到“FireFox.png”中,然后将新的.png放在Sikuli orginaly放置它的地图中。

当我再次打开IDE时,该图像显示为黑色背景(并且不透明)。而且我的Sikuli脚本也无法识别图像。如果我在Windows查看器中打开图像,背景仍然是透明的。

它背后的想法是让图像更好地被识别,然后我的脚本不会在意FireFox图标的背景是白色,红色还是其他颜色。

有谁知道是否有一种方式,Sikuli可以处理与透明背景的图像?所以在桌面上找到一个图标会变得更好,而且背景也不再重要。

回答

2

Sikuli(或者我应该说它正在使用OpenCV核心),不关心图像本身的背景。它所做的只是扫描整个屏幕,就像它看起来一样。它不知道图像或其他类型,只是纯粹的视觉外观。说,如果你的图像保持不变,因为当你第一次创建模式,你可以在屏幕上唯一检测它,这将工作。

据我所知,这与你正在做的事情完全相反。不要试图改变图像背景,因为如果你这样做了,所有在这个图像背后可见的东西(由于透明度)会阻止Sikuli检测它而不是帮助它。请记住,Sikuli只处理矩形图案,所以除矩形图像以外的任何内容都不起作用。

关于它在IDE中的外观,我不确定。这可能是因为不支持透明Alpha通道的图像。您可以在Sikuli官方论坛here上试着问这个问题。

+0

感谢您的解释。 :-) – Tenzin