![]() |
|
|
|
|
#1
|
|||
|
|||
|
Нужно определить числа с картинки.
Нашел некий сорсец, но чет я его не понимаю. Код:
function img2text(bitmap:tbitmap; sjatie:boolean;black,white:string):string;
var
x,y: integer;
str: string;
b: tbitmap;
begin
if sjatie=true
then
begin
b:=tbitmap.Create;
b.Width:=bitmap.Width;
b.Height:=bitmap.Height div 2;
b.Canvas.StretchDraw(rect(0,0,bitmap.Width,bitmap.Height div 2),bitmap)
end
else
begin
b:=tbitmap.Create;
b:=bitmap;
end;
for y:=0 to b.Height -1 do
begin
if y>0
then str:=str+#13#10;
for x:=0 to b.Width -1 do
case b.Canvas.Pixels[x,y] of
clwhite: str:=str+white;
clblack: str:=str+black;
else Exit;
end;
end;
img2text:=str;
end;
end.пример картинки: 15.bmp Последний раз редактировалось nixon232, 24.12.2015 в 22:24. |
|
#2
|
||||
|
||||
|
Это не определение, здесь перевод ч\б пикселей картинки в текст, что потом с такой символьной матрицей делать - загадка
|
| Этот пользователь сказал Спасибо Alegun за это полезное сообщение: | ||
nixon232 (25.12.2015)
| ||
|
#3
|
|||
|
|||
|
Цитата:
Вы правы. Вот результат ф-ии: img.bmp Может подскажите, что можно сделать для достижения моей цели. На форме есть текст( числа), которые невидны даже с использованием Windows spy. Как еще можно определить текст? Может как-то сравнивать отдельные числа по маске? но насколько это долго? может есть какие примеры на эту тему? |
|
#4
|
||||
|
||||
|
Вот адаптант под ваш рисунок, для других нужно добавить шаблоны цифр
|
| Этот пользователь сказал Спасибо Alegun за это полезное сообщение: | ||
nixon232 (25.12.2015)
| ||
|
#5
|
|||
|
|||
|
Цитата:
|
|
#6
|
||||
|
||||
|
Как частный случай, возможно и сработает, но если начнут извращаться над капчей, поворачивать цифры, накладывать их друг на друга, менять шрифт и т.п. то работать перестанет.
|