Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.01.2012, 23:36   #1
Arsenx777
Delphi, c++, php
Форумчанин
 
Аватар для Arsenx777
 
Регистрация: 14.03.2011
Сообщений: 288
По умолчанию Распознование цифр с картинки

Добрый день, я пишу программу которая будет распозновать простые цыфры с картинки тоесть каптчи,
1.jpg
6.jpg
Код:
procedure bw();
var i,j: integer;
  buff: byte;
  col: TColor;
begin
for i:=0 to image1.Width-1 do
  for j:=0 to image1.Height-1 do
  begin
    col:=image1.Canvas.Pixels[i,j];
    buff:=(GetRValue(col)+GetGValue(col)+GetBValue(col)) div 3;
          If buff > 180 then
            buff := 255
          else
            buff := 0;
          col := RGB(buff, buff, buff);
          image1.Canvas.Pixels[i, j] := col;
  end;

end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  jpeg:=TJpegImage.Create;
  bitmap:=TBitmap.Create;
  jpeg.LoadFromFile('1\5711.jpeg');
  bitmap.Assign(jpeg);
  image1.Picture.Assign(bitmap);
  bw();
end;



//Поиск координат цифр
procedure TForm1.Search_coordinate();
var i,j: integer;
  c_info:info;
  isset: boolean;
  x1,x2,y1,y2: integer;
begin
for i:=0 to image1.Width-1 do
begin
  for j:=0 to image1.Height-1 do
   if image1.Canvas.Pixels[i,j]=0 then
   begin
     x1:=i; break;
   end;
   if x1=i then break;
end;

for j:=0 to image1.Height-1 do
begin
  for i:=0 to image1.Width-1 do
    if image1.Canvas.Pixels[i,j]=0 then
   begin
     y1:=j; break;
   end;
   if y1=j then break;
end;

end;
В процедуре Search_coordinate(); я нахожу первые 2 координаты первой цыфры, тоесть левая сторона и верхняя (x1,x2), как найти все координаты что бы можно было потом их вырезать? Я хочу понять принцып что бы не копировать код, а понять что и как, что бы потом сам решал подобные задачи.
Какие есть алгоритмы вырезки? если цыфры появляются хаатично(тоесть координаты по x,y),?
Мудр тот, кто знает нужное, а не многое.

Arsenx777 вне форума Ответить с цитированием
Старый 03.01.2012, 19:05   #2
Cyrix
Пользователь
 
Регистрация: 08.10.2011
Сообщений: 26
По умолчанию

http://www.vr-online.ru/content/delp...em-kapchu-4281
Cyrix вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Найти все слова-числа, т.е. такие, которые состоят только из цифр. Известно, что количество цифр в каждом числе не более 9 (девяти vikichocolate Помощь студентам 1 21.12.2011 00:12
Распознование музыки Bryuk Общие вопросы C/C++ 0 10.05.2011 20:31
Дано натуральное число n. Определить, сколько парных цифр в числе n. Чему равна сумма нечетных его цифр? pahanzona Microsoft Office Excel 4 27.02.2011 15:46
Натуральное число, в записи которого п цифр, называется числом Армстронга, если сумма его цифр, возведенн OTLi4HO Общие вопросы C/C++ 6 14.01.2009 19:48