Форум: "Прочее";
Текущий архив: 2007.01.28;
Скачать: [xml.tar.bz2];
ВнизОбработка изображения / Распознование / Нейросети Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 0.422 c