2015-04-18 148 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