2010-06-16 27 views
2

使用Actionscript 3可以搜索一個位圖來查找與另一個位圖的像素匹配的座標嗎?搜索BitmapData對象以匹配來自另一個位圖的像素值

http://dl.dropbox.com/u/1914/wired.png

不知怎的,你將通過更大的位圖來尋找和匹配,並返回這些座標的像素範圍必須循環。例如,帶有「E」的位圖在較大的位圖上是250像素和14像素。

我一直沒有能夠自己拿出解決方案。謝謝。

+0

是一個足夠好的像素完美匹配還是您需要模糊匹配? – grapefrukt 2010-06-16 19:32:14

+0

爲我的目的它將是像素完美的,並且不需要模糊匹配。 – Cos 2010-06-20 16:53:31

回答

0

有沒有內置的方式來做到這一點,但如果你不介意使用暴力,那麼當然AS3爲你提供了所需的工具。例如,您可以循環使用BitmapData.compare()函數將源圖像與目標的相似大小的塊進行比較。如果兩者完全相同,則返回的BitmapData將全部爲黑色(您可以快速檢查getColorBoundsRect是否爲真)。您也可以通過最初僅檢查幾個像素(或getPixel)或幾行像素與getVector,並只檢查完整的圖像,如果他們匹配。

這就是假設你不需要模糊匹配,並且你不介意本質上的強力解決方案。如果其中任何一種情況都不是這樣,那麼你最好重新提出這個問題作爲一個通用算法問題。 :D

1

因爲已經有人說過沒有原生函數可以讓你這樣做,但是你可能想看看Eugene Zatepyakin的ASSURF庫:http://code.google.com/p/in-spirit/wiki/ASSURF - 它會在目標材料中找到你的搜索模板如果它旋轉,縮放或透視失真。

+0

哇很酷的東西,謝謝你的分享。 – Cos 2010-06-20 16:54:21

相關問題