2
2
Copyright (c) 1993-2008, Cognitive Technologies
5
����������� ��������� ��������������� � ������������� ��� � ���� ��������� ����,
6
��� � � �������� �����, � ����������� ��� ���, ��� ���������� ��������� �������:
8
* ��� ��������� ��������������� ��������� ���� ������ ���������� ���������
9
���� ����������� �� ��������� �����, ���� ������ ������� � �����������
11
* ��� ��������� ��������������� ��������� ���� � ������������ �/��� �
12
������ ����������, ������������ ��� ���������������, ������ �����������
13
��������� ���� ���������� �� ��������� �����, ���� ������ ������� �
14
����������� ����� �� ��������.
15
* �� �������� Cognitive Technologies, �� ����� �� ����������� �� �����
16
���� ������������ � �������� �������� ��������� �/��� �����������
17
���������, ���������� �� ���� ��, ��� ���������������� �����������
20
��� ��������� ������������� ����������� ��������� ���� �/��� ������� ������ "���
21
��� ����" ��� ������-���� ���� ��������, ���������� ���� ��� ���������������,
22
������� �������� ������������ �������� � ����������� ��� ���������� ����, �� ��
23
������������� ���. �� �������� ��������� ���� � �� ���� ������ ����, �������
24
����� �������� �/��� �������� �������������� ���������, �� � ���� ������ ��
25
��Ѩ� ���������������, ������� ����� �����, ���������, ����������� ���
26
������������� ������, ��������� � �������������� ��� ���������� ����������
27
������������� ������������� ��������� (������� ������ ������, ��� ������,
28
������� ���������, ��� ������ �/��� ������ �������, ���������� ��-�� ��������
29
������� ��� �/��� ������ ��������� �������� ��������� � ������� �����������,
30
�� �� ������������� ����� ��������), �� �� ������������� ���, ���� ���� �����
31
�������� ��� ������ ���� ���� �������� � ����������� ����� ������� � ������.
5
Разрешается повторное распространение и использование как в виде исходного кода,
6
так и в двоичной форме, с изменениями или без, при соблюдении следующих условий:
8
* При повторном распространении исходного кода должны оставаться указанное
9
выше уведомление об авторском праве, этот список условий и последующий
11
* При повторном распространении двоичного кода в документации и/или в
12
других материалах, поставляемых при распространении, должны сохраняться
13
указанная выше информация об авторском праве, этот список условий и
14
последующий отказ от гарантий.
15
* Ни название Cognitive Technologies, ни имена ее сотрудников не могут
16
быть использованы в качестве средства поддержки и/или продвижения
17
продуктов, основанных на этом ПО, без предварительного письменного
20
ЭТА ПРОГРАММА ПРЕДОСТАВЛЕНА ВЛАДЕЛЬЦАМИ АВТОРСКИХ ПРАВ И/ИЛИ ДРУГИМИ ЛИЦАМИ "КАК
21
ОНА ЕСТЬ" БЕЗ КАКОГО-ЛИБО ВИДА ГАРАНТИЙ, ВЫРАЖЕННЫХ ЯВНО ИЛИ ПОДРАЗУМЕВАЕМЫХ,
22
ВКЛЮЧАЯ ГАРАНТИИ КОММЕРЧЕСКОЙ ЦЕННОСТИ И ПРИГОДНОСТИ ДЛЯ КОНКРЕТНОЙ ЦЕЛИ, НО НЕ
23
ОГРАНИЧИВАЯСЬ ИМИ. НИ ВЛАДЕЛЕЦ АВТОРСКИХ ПРАВ И НИ ОДНО ДРУГОЕ ЛИЦО, КОТОРОЕ
24
МОЖЕТ ИЗМЕНЯТЬ И/ИЛИ ПОВТОРНО РАСПРОСТРАНЯТЬ ПРОГРАММУ, НИ В КОЕМ СЛУЧАЕ НЕ
25
НЕСЁТ ОТВЕТСТВЕННОСТИ, ВКЛЮЧАЯ ЛЮБЫЕ ОБЩИЕ, СЛУЧАЙНЫЕ, СПЕЦИАЛЬНЫЕ ИЛИ
26
ПОСЛЕДОВАВШИЕ УБЫТКИ, СВЯЗАННЫЕ С ИСПОЛЬЗОВАНИЕМ ИЛИ ПОНЕСЕННЫЕ ВСЛЕДСТВИЕ
27
НЕВОЗМОЖНОСТИ ИСПОЛЬЗОВАНИЯ ПРОГРАММЫ (ВКЛЮЧАЯ ПОТЕРИ ДАННЫХ, ИЛИ ДАННЫЕ,
28
СТАВШИЕ НЕГОДНЫМИ, ИЛИ УБЫТКИ И/ИЛИ ПОТЕРИ ДОХОДОВ, ПОНЕСЕННЫЕ ИЗ-ЗА ДЕЙСТВИЙ
29
ТРЕТЬИХ ЛИЦ И/ИЛИ ОТКАЗА ПРОГРАММЫ РАБОТАТЬ СОВМЕСТНО С ДРУГИМИ ПРОГРАММАМИ,
30
НО НЕ ОГРАНИЧИВАЯСЬ ЭТИМИ СЛУЧАЯМИ), НО НЕ ОГРАНИЧИВАЯСЬ ИМИ, ДАЖЕ ЕСЛИ ТАКОЙ
31
ВЛАДЕЛЕЦ ИЛИ ДРУГОЕ ЛИЦО БЫЛИ ИЗВЕЩЕНЫ О ВОЗМОЖНОСТИ ТАКИХ УБЫТКОВ И ПОТЕРЬ.
33
33
Redistribution and use in source and binary forms, with or without modification,
34
34
are permitted provided that the following conditions are met:
57
57
#ifndef __DIFFRB_H__
58
58
#define __DIFFRB_H__
59
INT EndBlackInterval(BYTE *RASTER, INT NWIDTH);
60
INT LeftDistance(BYTE *RASTER, INT NWIDTH);
61
INT RightDistance(BYTE *RASTER, INT NWIDTH);
62
INT SumIntervalBits( BYTE *RASTER, INT n1, INT n2);
63
INT SumBits( BYTE *RASTER, INT NWIDTH);
64
INT VertSum( BYTE *RASTER, INT Wx, INT NHEIGHT, INT Column);
65
INT MinMaxLeft( BYTE *RAST, INT Wx, BYTE NW, BYTE NH,INT *min, INT *max);
66
INT MinMaxRIght( BYTE *RAST, INT Wx, BYTE NW, BYTE NH,INT *min, INT *max);
67
INT NumHorizInterval( BYTE *RASTER, INT NWIDTH);
68
INT NumVertInterval( BYTE *RASTER, INT Wx, INT NHEIGHT, INT Column);
69
INT FOOT_A( BYTE *RASTER, INT Wx, BYTE NWIDTH, BYTE NLENGTH);
70
INT FOOT3_2( BYTE *RASTER, INT Wx, BYTE NWIDTH, BYTE NLENGTH);
71
INT FOOT3( BYTE *RASTER, INT Wx, BYTE START, BYTE NWIDTH, BYTE NLENGTH, INT SHIFT);
72
INT Asymm_let( BYTE *RASTER, INT Wx, BYTE NWIDTH, BYTE NLENGTH, INT TW);
73
INT FOOT( BYTE *RAST, INT Wx, BYTE NW, BYTE NH, BYTE HARD_FILTER);
74
INT CenterVertInterval( BYTE *R, INT Wx, INT NH, INT Col,INT *up, INT *down);
75
INT LinesWithNumIntervals(BYTE *rastr,INT Wx, INT NLENGHT, INT num);
76
INT LeftEdgeOfRightmostInt( BYTE *rst, INT Wdth);
59
int16_t EndBlackInterval(uchar *RASTER, int16_t NWIDTH);
60
int16_t LeftDistance(uchar *RASTER, int16_t NWIDTH);
61
int16_t RightDistance(uchar *RASTER, int16_t NWIDTH);
62
int16_t SumIntervalBits( uchar *RASTER, int16_t n1, int16_t n2);
63
int16_t SumBits( uchar *RASTER, int16_t NWIDTH);
64
int16_t VertSum( uchar *RASTER, int16_t Wx, int16_t NHEIGHT, int16_t Column);
65
int16_t MinMaxLeft( uchar *RAST, int16_t Wx, uchar NW, uchar NH,int16_t *min, int16_t *max);
66
int16_t MinMaxRIght( uchar *RAST, int16_t Wx, uchar NW, uchar NH,int16_t *min, int16_t *max);
67
int16_t NumHorizInterval( uchar *RASTER, int16_t NWIDTH);
68
int16_t NumVertInterval( uchar *RASTER, int16_t Wx, int16_t NHEIGHT, int16_t Column);
69
int16_t FOOT_A( uchar *RASTER, int16_t Wx, uchar NWIDTH, uchar NLENGTH);
70
int16_t FOOT3_2( uchar *RASTER, int16_t Wx, uchar NWIDTH, uchar NLENGTH);
71
int16_t FOOT3( uchar *RASTER, int16_t Wx, uchar START, uchar NWIDTH, uchar NLENGTH, int16_t SHIFT);
72
int16_t Asymm_let( uchar *RASTER, int16_t Wx, uchar NWIDTH, uchar NLENGTH, int16_t TW);
73
int16_t FOOT( uchar *RAST, int16_t Wx, uchar NW, uchar NH, uchar HARD_FILTER);
74
int16_t CenterVertInterval( uchar *R, int16_t Wx, int16_t NH, int16_t Col,int16_t *up, int16_t *down);
75
int16_t LinesWithNumIntervals(uchar *rastr,int16_t Wx, int16_t NLENGHT, int16_t num);
76
int16_t LeftEdgeOfRightmostInt( uchar *rst, int16_t Wdth);