ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
 |
|

25.01.2008, 14:45
|
|
Участник форума
Регистрация: 23.04.2007
Сообщений: 233
Провел на форуме: 671223
Репутация:
91
|
|
ppm Говорит , что нет пакета GD . Как быть ?
|
|
|

25.01.2008, 14:59
|
|
Участник форума
Регистрация: 23.04.2007
Сообщений: 233
Провел на форуме: 671223
Репутация:
91
|
|
Разобрался 
|
|
|

25.01.2008, 18:18
|
|
Участник форума
Регистрация: 23.04.2007
Сообщений: 233
Провел на форуме: 671223
Репутация:
91
|
|
можно ли распозновать Gif картинку , она тоже простейшая ? на белом фоне красные цифры .
размер 60х20 . Чем можно разбить картинку на подобную диаграмму чтоб вычислить координаты пикселей . Зависит ли цвет фона \ цифр при исчислении ?
спасибо
|
|
|

03.03.2008, 19:15
|
|
Участник форума
Регистрация: 22.05.2006
Сообщений: 232
Провел на форуме: 561037
Репутация:
73
|
|
Сообщение от -Hormold-
А возможно такое на php?
Можно, как грит вики библиотека GD входит в стандартную поставку интерпретатора PHP 4.3, так что осталось просто переписать скриптец на пхп 
|
|
|

04.03.2008, 18:57
|
|
Познавший АНТИЧАТ
Регистрация: 16.11.2004
Сообщений: 1,257
Провел на форуме: 1331503
Репутация:
454
|
|
можно ли распозновать Gif картинку , она тоже простейшая ? на белом фоне красные цифры .
размер 60х20 . Чем можно разбить картинку на подобную диаграмму чтоб вычислить координаты пикселей . Зависит ли цвет фона \ цифр при исчислении ?
спасибо
Можно. Открываешь ее в тотал коммандере в листере - там при наведении мыши внизу координаты пишутся. В принципе под это и пейнт пойдет. наводишься, запоминаешь координаты, чикаешь картинку, распознаешь начиканное. Все лучше перегнать в ч/б изображение - так удобнее считать.
в пхп гд тоже есть так что можно. Я вообще этими делами на Дельфях занимаюсь.
|
|
|

10.07.2008, 23:27
|
|
Banned
Регистрация: 12.01.2007
Сообщений: 113
Провел на форуме: 4094601
Репутация:
495
|
|
Тренировался в написании модулей ( классов )
Код:
package BOCR;
use strict;
use GD;
use constant {
RED => 44,
GREEN => 18,
BLUE => 4,
};
my %c = ( 0 => '7:4,0:4' ,
1 => '2:2,3:2' ,
2 => '7:9' ,
3 => '0:1,0:8' ,
4 => '5:2,6:9' ,
5 => '0:0,0:1' ,
6 => '3:4,0:4' ,
7 => '7:0' ,
8 => '2:4,3:4' ,
9 => '7:4,7:7' , );
sub new {
my $class = shift;
my $self = { DEBUG => 0,
NAME => undef,
@_,
};
return bless $self, $class;
}
sub recognition {
my $self = shift;
unless ( defined $self->{ NAME } ){
$self->{ NAME } = shift ;
}
my $count = 0;
my $image = GD::Image->newFromJpeg( $self->{ NAME } );
for ( my $x0 = 5; $x0 <= 41; $x0 += 9 )
{
print "\t\tНачало новой позиции цифры \n\n" if $self->{ DEBUG };
foreach my $n ( sort keys %c )
{
print " Цифра : #$n\n\n" if $self->{ DEBUG };
foreach ( split ',',$c{$n} )
{
my ( $x,$y ) = split ':';
print "Координаты : x = $x y = $y ; " if $self->{ DEBUG };
my ( $r,$g,$b ) = $image->rgb( $image->getPixel( $x+$x0,$y+5 ) );
print "RGB : r = $r g = $g b = $b\n" if $self->{ DEBUG };
if ( ( RED>=$r )&&( GREEN>=$g )&&( $b=BLUE ) ){
$count++;
print "Совпадение #$count : цифра #$n ; координаты : x = $x y = $y \n" if $self->{ DEBUG };
}
if ( ( $count == 2 ) || ( $count == 1 ) && ( $n == 2 ) || ( $count == 1 ) && ( $n == 7 ) ){
$count = 0;
print "Найдена цифра : '$n' \n" if $self->{ DEBUG };
$self->{ NUMBER } .= $n;
last;
}
}
$count = 0;
print "\n" if $self->{ DEBUG };
}
}
print "Результат : $self->{ NUMBER }\n" if $self->{ DEBUG };
return $self->{ NUMBER };
}
1;
Использывать примерно так :
Код:
#!/usr/bin/perl -w
use strict;
use BOCR;
my $i = new BOCR( DEBUG => 1, # можно и без отладки =]
NAME => 'b.jpeg' );
print $i->recognition;
Пример отладки :
Код:
$ perl b.pl
Начало новой позиции цифры
Цифра : #0
Координаты : x = 7 y = 4 ; RGB : r = 236 g = 198 b = 68
Координаты : x = 0 y = 4 ; RGB : r = 28 g = 14 b = 4
Совпадение #1 : цифра #0 ; координаты : x = 0 y = 4
.....
Цифра : #6
Координаты : x = 3 y = 4 ; RGB : r = 36 g = 14 b = 4
Совпадение #1 : цифра #6 ; координаты : x = 3 y = 4
Координаты : x = 0 y = 4 ; RGB : r = 28 g = 14 b = 4
Совпадение #2 : цифра #6 ; координаты : x = 0 y = 4
Найдена цифра : '6'
.....
Результат : 6099
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|