Поиск объекта BitmapData для сопоставления значений пикселей из другого растрового изображения - PullRequest
2 голосов
/ 16 июня 2010

Используя Actionscript 3, есть ли способ найти одно растровое изображение для координат, соответствующих пикселям другого растрового изображения?

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

Каким-то образом вам придется пройтись по большему растровому изображению, чтобы найти и диапазон пикселей, который соответствует и вернуть эти координаты. Например, растровое изображение с буквой «Е» составляет 250 пикселей больше и 14 пикселей вниз в большем растровом изображении.

Я не смог придумать решение самостоятельно. Спасибо.

Ответы [ 2 ]

1 голос
/ 19 июня 2010

Как уже было сказано, нет встроенной функции, которая позволяла бы вам это делать, но вы можете посмотреть библиотеку ASSURF Евгения Затепякина: http://code.google.com/p/in-spirit/wiki/ASSURF - она ​​найдет ваш шаблон поиска в целевомматериал, даже если он вращается, масштабируется или искажается в перспективе.

0 голосов
/ 17 июня 2010

Нет встроенного способа сделать это, но если вы не возражаете против использования грубой силы, то, безусловно, AS3 предоставит вам необходимые инструменты.Например, вы можете выполнить цикл с помощью функции BitmapData.compare () , чтобы сравнить исходное изображение с фрагментом цели аналогичного размера.Если они идентичны, возвращенные BitmapData будут полностью черными (вы можете быстро проверить, верно ли это с getColorBoundsRect .) Вы также можете ускорить это, предварительно проверив только несколько пикселей с getPixel , или несколько строк пикселей с getVector , и проверка только полных изображений, если они совпадают.

Все это при условии, что вам не нужно нечеткое совпадение,и что вы не возражаете против решения по грубой силе.Если что-то из этого не так, то вам лучше задать этот вопрос как общий алгоритм.: D

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...