PDA

Просмотр полной версии : get Text from Bitmap


$mival
27.12.2010, 02:10
Привет!

Хотелось бы код, который из битмапа выдёргивает координаты текста если он там есть

например

getTextFromBitmap(text:String, font:String, ...):Rectangle

на худой конец искать Rectangle в битмапе не по тексту а по другому битмапу, то есть тексты в принципе известны, я их запринстриню и вошью в приложение, буду просто сравнивать

getSubBitmap(child:Bitmap, parent:Bitmap):Rectangle

спасибо

drnet_ua
27.12.2010, 04:17
Тривиальнейшая задача у человека, и не ресурсоемкая совсем.

присоеденюсь пожалуй. дайте код, особенно по п1

terbooter
27.12.2010, 09:30
Распознование номера авто на фотке?
Тогда нужно читать спец литературу.
Если просто зашиваете ресурсы, то сделайте кучу битмапов.

Не совсем ясно что именно вы хотите

$mival
27.12.2010, 09:36
да какое авто, текст в том виде как если бы он был как текстфилд только он в битмапе (скриншоте экрана)
ну а что я там буду вшивать это как бы уже мои проблемы :quiet:

drnet_ua
27.12.2010, 11:09
Эта задача называется OCR, в том или ином виде, врядли вы найдете что-то готовое.

Я на делфи такое делал для бота одной ММОРГ.

Мне кажется что для АС3 это несколько тяжеловато будет.

в общем виде:

1) threshold до какого-от уровня искомого и исходного изображения
2) оба в масив(или напрямую по пикселям, по вкусу/скорости работы)
3) прямой перебор со всякими оптимизациями(нейронные сети например)

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

но даже на делфи это было достаточно долго - около 50-110 проверок в секунду для 1024х768, искомое 128х128

производительность таких операций у АВМ намного ниже чем на делфи

$mival
28.12.2010, 06:13
мне сразу в голову пришла мысль накладывать изобр. друг на друга в некотором BlendMode, который при совпадении области вырежет её, но опять же это наверное еще более ресурсоёмко чем ваш вариант

drnet_ua
28.12.2010, 11:33
ну да.. у меня для некой "неверной" точки 1-5-10 сравнений, это быстро

самый "торомоз" именно на этапе когда мы подбираемся к тому что ищем, или есть похожие области

если у вас однозначно черная надпись на белом фоне, то вы ее найдете быстро

Добавлено через 10 минут
там "подводный камень" - сглаживание, он большинство проблемм дает