Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.01.28;
Скачать: CL | DM;

Вниз

Обработка изображения / Распознование / Нейросети   Найти похожие ветки 

 
altex   (2007-01-02 16:52) [0]

Нужна помощь такая вот помощь:
сразу скажу пишу програмки для распознавания изображений в некоторых онлайн играх, где что-бы что-то получить надо вводить код.. ничего криминального.
Всегда пользовался исходником программы neuro40, предварительно обрабатывал картинку, приводило к ч/б виду разбивал по цыферкам, удалял лишний шум и 95% удачного распознования, но вот попались такие вот картинки
хттп://smartphones.net.ru/tt/1.bmp  (там много 1->20.bmp), сколько я над ними не парился.. никак их не могу привести к нормальному виду.. что уже только не делал, может у кого есть какие-нибудь идеи, что тут можно придумать?


 
Vovan #2   (2007-01-02 17:25) [1]

Выделить четыре несвязные зоны яркости, отличающейся от фоновой.
Проанализировать шум и на основе этого всего отгемнетировать буквы.


 
altex   (2007-01-02 21:54) [2]

Эм.. а это Как??? :)


 
vidiv ©   (2007-01-02 22:34) [3]


>  такие вот картинки
> хттп://smartphones.net.ru/tt/1.bmp  (там много 1->20.bmp),
>  

даа.. тяжко приется тебе =)


 
Rembo   (2007-01-02 22:51) [4]

Они косо написаны. Это анрил!


 
altex   (2007-01-02 23:12) [5]

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


 
altex   (2007-01-02 23:12) [6]

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


 
Vovan #2   (2007-01-02 23:17) [7]

Зачем выравнивать? Есть же методы разпознавания, инвариантные к поворотам. В некоторых проектах я распознавал не поворачивая и даже не масштабируя.

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


 
flaxe ©   (2007-01-02 23:49) [8]

Не такую считать просто не возможно!!!


 
Vovan #2   (2007-01-02 23:56) [9]

Вот, пять минут кодинга без всяких теорий по мотивам [1]:
http://keep4u.ru/full/070102/4556bc3ed1d604aa29.png
(находит первую светлую область)


 
altex   (2007-01-03 00:19) [10]

Ёлки Палки! Поделись Алгоритмом :) Please ^)


 
Nic ©   (2007-01-03 00:24) [11]

Я пробовал область :) Оно очень интересно. Дошёл до выравнивания бланка под прямым углом и разобрал несколько алгоритмов распознавания символов. Потом, правда, забил на это дело так как на горизонте появились более денежные проекты.


 
Nic ©   (2007-01-03 00:24) [12]

До нейросетей дойти не успел.


 
Vovan #2   (2007-01-03 00:33) [13]


procedure TformMain.btnProcessClick(Sender: TObject);
var
 W, H, x, y: Integer;
 Br: Byte;

 procedure Extract(B: TBitmap32; x1, y1: Integer; Bright: Byte);
 begin
   if (x1 >= 0) and (y1 >= 0) and (x1 < W) and (y1 < H) then
    begin
     if (B.Pixels[x1,y1] <> clBlack32) and
       (Abs(RedComponent(imgInput.Bitmap[x1,y1]) - Bright) < 50) then
      begin
       B.Pixels[x1,y1] := clBlack32;
       Extract(B, x1+1, y1, Bright);
       Extract(B, x1-1, y1, Bright);
       Extract(B, x1, y1+1, Bright);
       Extract(B, x1, y1-1, Bright);
      end;
    end;
 end;

begin
 W := imgInput.Bitmap.Width;
 H := imgInput.Bitmap.Height;
 for y := 0 to H-1 do
  for x := 0 to W-1 do
   begin
     Br := RedComponent(imgInput.Bitmap.Pixels[x,y]);
     if Br > 190 then
      begin
       Extract(imgSymbol1.Bitmap, x, y, Br);
       imgSymbol1.Invalidate;
       Exit;
      end;
   end;
end;


 
altex   (2007-01-03 01:03) [14]

Vovan #2, СпасиБА ТЕБЕ БААЛЬШОЕ!!! Это сдвинет меня с мертвой точки!


 
altex   (2007-01-03 23:15) [15]

Вот после нескольких способов обработки получается у меня вот такое вот:
http://smartphones.net.ru/tt2/1.bmp  -> 9.bmp
И вот теперь сижу я и не знаю что придумать с разделением на цыфры, единственное что у цыфр есть более менее определенные рамки в которых она располагается.. определенного центра помойму нет, вращается абсолютно рандомно, что можно придумать???
Единственное что мне пока приходит в голову.. может просто взять несколько вариантов каждой цыфры и вращать её "поверх" исходной, пока не найдем наибольшее сходство, стоит копать в эту сторону??


 
Vovan #2   (2007-01-03 23:49) [16]

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

Я так делал. Вращал не всю цифру, а её скелет. Нормально работало.

Но всё равно постарайся сегментировать по-максимальному. На некоторых каринках у тебя буквы полностью отдельны от других. Некоторые буквы в оригинале по яркости отличались от соседей (белые против чёрных).


 
Тиммммм   (2007-01-05 16:23) [17]

altex свяжись со мной, ася 4847457



Страницы: 1 вся ветка

Текущий архив: 2007.01.28;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.055 c
5-1147508616
_duk
2006-05-13 12:23
2007.01.28
DBGrid


1-1164903061
CaSH_
2006-11-30 19:11
2007.01.28
TreeView при выделении строки иконка меняется (продолжение 2)


15-1168006020
IMHO
2007-01-05 17:07
2007.01.28
Вечная компьютерная игра


2-1168324858
Extar
2007-01-09 09:40
2007.01.28
Дебугер не останавливается на BP


15-1167509299
vasIZmax
2006-12-30 23:08
2007.01.28
Распечатать текст программы...