Конференция "Media" » распознавание числа по образу [D7, WinXP]
 
  • Тимофей (01.11.09 16:28) [0]
    Задача такая: во внешней программе,в окне в виде картинки выводятся числа от 0 до 99, требуется распознавать изображенное число. Числа изображаются на черном фоне, 4 или 5 цветов, то синие, то красные, то желтые, то зеленые, примерно через 10-15 чисел, цвет следующих меняется в другой. Раз в неделю шрифт меняется. Я так понимаю что можно каждую неделю делать образы цифр, и программа будет распознавать число по образу. Коллеги поделитесь опытом! С графикой не имел дела.
  • DVM © (01.11.09 19:34) [1]
    рапознавателей капчи полно поищи
  • Тимофей (01.11.09 20:04) [2]
    к сожалению не нашел
  • DVM © (01.11.09 21:58) [3]

    > Тимофей   (01.11.09 20:04) [2]


    > к сожалению не нашел

    Да плохо искал вероятно. Я сам натыкался раз 10 на исходники, причем разные.
    Есть целые сервисы платные где тысячи индусов распознают капчи за 2 доллара за 1000 капч.
    http://yandex.ru/yandsearch?text=%D1%80%D0%B0%D1%81%D0%BF%D0%BE%D0%B7%D0%BD%D0%B0%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5+%D0%BA%D0%B0%D0%BF%D1%87%D0%B8&lr=10742&stpar2=/h1/tm7/s2&stpar4=/s2
  • Тимофей (01.11.09 22:00) [4]
    спасибо конечно, но я хочу научиться
  • DVM © (01.11.09 22:06) [5]

    > Тимофей   (01.11.09 22:00) [4]


    > спасибо конечно, но я хочу научиться

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

    Ну к какой то конкретной капче еще можно приспособиться и то не ко всякой. Но потом капча мнеяется и все труды насмарку
  • Тимофей (01.11.09 22:22) [6]
    занимаюсь графикой впервые, так что сильно не ругайтесь за глупый код))
    образы - отдельно созданные 10 штук bmp'шки, это правильно или файл образ должен быть один файл?

    var
    bmp,bmp_ci: Graphics.TBitmap;
    DC: HDC;
    i,j:integer;
    begin
    try
    bmp:=Graphics.TBitmap.Create;
    bmp.Height:=15;
    bmp.Width:=82;
    bmp.PixelFormat := pf32bit;
    DC:=GetDC(0);
    bitblt(bmp.Canvas.Handle, 0, 0, bmp.Width, bmp.Height, DC, 954, 150, SRCCOPY);
    bmp.IgnorePalette:=true;
    bmp_ci:=Graphics.TBitmap.Create;
    for i:=0 to 9 do
     if FileExists(IntToStr(i)+'.bmp') then
     begin
         bmp_ci.LoadFromFile(IntToStr(i)+'.bmp');
         for j:=0 to bmp.Height-1 do
         begin
           if not CompareMem(bmp.ScanLine[1],bmp_ci.ScanLine[1],bmp.Width*3) then
           здесь уходим вправо на 1 пиксель?
           а если тру?
         end;
     end;
    ReleaseDC(0, DC);

  • Тимофей (01.11.09 22:24) [7]
    мне кажется в моем случае все не так сложно, картинка содержит числа от 0 до 99, шрифт меняется редко, для меня не проблема создать образы заново, оно того стоит)))

    если есть образ, то можно по картинке определить присутствует ли цифра на ней или нет. я как то так понимаю.
    Спасибо за ответы!
  • DVM © (01.11.09 22:36) [8]
  • Pavia © (01.11.09 23:15) [9]

    > занимаюсь графикой впервые, так что сильно не ругайтесь
    > за глупый код))образы - отдельно созданные 10 штук bmp'шки,
    >  это правильно или файл образ должен быть один файл?

    Делай сейчас как удобно потом научишься как правильно.

    Такие вопросы не должны возникать. Просто глаза бояться, а руки делают.
  • Aleksandra (25.12.10 14:01) [10]
    Здравствуйте, нужно создать программу на Delphi по распознаванию капч одного определенного типа с сайта webmoney. Помогите пожалуйста. Замучалась уже.
  • Curse © (03.01.11 00:37) [11]
    А надо не мучиться, а нанять программиста
 
Конференция "Media" » распознавание числа по образу [D7, WinXP]
Есть новые Нет новых   [120151   +143][b:0][p:0.002]