![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Распознование Текста с сканера! [D7]
pavels777 © (2006-11-12 22:39:00)Уважаемые друзья!
Мне задали сделать программу которая распознаёт буквы, отсканированные с плохого листа бумаги.
Функцию очистки от шума я сделал. а вот сравнение с шаблоном в масиве сделать не получаеться :(
Я делал по сравнению количества чёрных пикселей, но ето приводит к неправильному результату!
Помогите пожалуйста!!
Германн (2006-11-13 02:39:00) [21]
> for i:=0 to 5 do
> begin
> Image4.Picture.LoadFromFile(ExtractFilePath(Application.
> Exename)+'22\'+InttoStr(i)+'.bmp');
>
> end;
Может мне кто-нибудь объяснит смысл сего действа!
MikePetrichenko (2006-11-13 02:39:00) [22]
> pavels777 (12.11.06 22:39)
Почитай для начала теорию по распознаванию образов и т.п.
pavels777 (2006-11-13 02:38:00) [23]if (Image3.Canvas.Pixels[x,y] = clblack) and (Image4.Canvas.Pixels[x,y] = clblack)
надо заменить на if (Image3.Canvas.Pixels[x,y] = clblack) and (massiv[i] [x,y] = clblack) ?
Ketmar (2006-11-13 02:38:00) [24]зыж нет, код тут дают редко. тут все жестокие -- заставляют думать и литературу/справку читать...
Ketmar (2006-11-13 02:37:00) [25]второй хинт обдумывай.
pavels777 (2006-11-13 02:37:00) [26]:)
MikePetrichenko (2006-11-13 02:36:00) [27]
> Исправьте пожалуйста где я ошибся?
Вот же упертый...
Раньше надо было исправлять. Смею предположить, что лет так 20-25 назад.
pavels777 (2006-11-13 02:35:00) [28]все image одинакового размера
MikePetrichenko (2006-11-13 02:34:00) [29]
> Я программист в крупной компании!!
Надеюсь, что очень мелкий программист.
P.S. А вдруг он из FineReader???
Ketmar (2006-11-13 02:34:00) [30]хм. везде.
хинт: все image одинакового размера?
хинт: к чему относятся свойства width и height в циклах?
pavels777 (2006-11-13 02:33:00) [31]Исправьте пожалуйста где я ошибся?
procedure TForm1.Button3Click(Sender: TObject);
var
Count,x,y,i,Result,chislo:integer;
masks:array[0..5]of integer; {Массив масок}
begin
for i:=0 to 5 do
begin
Image4.Picture.LoadFromFile(ExtractFilePath(Application.Exename)+'22\'+InttoStr(i)+'.bmp');
end;
Count := 0;
for x := 0 to Width-1 do
for y := 0 to Height-1 do
if (Image3.Canvas.Pixels[x,y] = clblack) and (Image4.Canvas.Pixels[x,y] = clblack)
then Inc(Count);
Result:=(Count div 10);
if (Result >20)
then
chislo:= masks[i];
label4.Caption:= inttostr(chislo);
end;
Ketmar (2006-11-13 02:31:00) [32]эх. набросились на человека... что-то я стал сентиментальным. всё-таки автор начал с "уважаемые друзья", а не "дайте код срочно"...
pavels777, ты не обижайся. тебе уже ответили, собственно. дальше пошёл наш обычный трёп.
Германн (2006-11-13 02:30:00) [33]
> pavels777 (13.11.06 02:25) [50]
>
> Я программист в крупной компании!!
>
Компании явно не повезло. Увы отдел кадров прошляпил. Начальника - на периферию!
Ketmar (2006-11-13 02:29:00) [34]хотя... если идёт компания из 20 человек, и среди них "программист" -- то это тоже "программист в крупной компании"...
Ketmar (2006-11-13 02:28:00) [35]>[50] pavels777 13-Nov-2006, 02:25
>Я программист в крупной компании!!
несчастная компания... надеюсь, ты там один такой...
хотя что-то мне подсказывает, что "гражданин соврамши", и "крупная компания" (если она есть) называется "дядя вася очень лтд суперсофт".
pavels777 (2006-11-13 02:25:00) [36]Я программист в крупной компании!!
MikePetrichenko (2006-11-13 02:08:00) [37]
> Пост [0]
Раньше.... Гораздо раньше... В момент выбора профессии/занятия.
Германн (2006-11-13 01:37:00) [38]
> pavels777 (13.11.06 01:31) [46]
>
> Друзья подскажите где я совершил ошибку?
Пост [0]
KilkennyCat (2006-11-13 01:36:00) [39]> for x := 0 to Width-1 do
> for y := 0 to Height-1 do
уже здесь.
pavels777 (2006-11-13 01:31:00) [40]Друзья подскажите где я совершил ошибку?
мне надо сравнить две картинки
procedure TForm1.Button3Click(Sender: TObject);
var
Count,x,y,Result:integer;
begin
Count := 0;
for x := 0 to Width-1 do
for y := 0 to Height-1 do
if (Image3.Canvas.Pixels[x,y] = clblack) and (Image4.Canvas.Pixels[x,y] = clblack)
then Inc(Count);
Result := Count * 200 div (Count*clblack+Count*clblack);
label4.Caption:= inttostr(Result);
end;