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:
104
104
typedef struct tagRecBmp
108
Int32 nOffsetX; //this is offset of Region.left-bit
108
int32_t nOffsetX; //this is offset of Region.left-bit
109
109
//relatively 0-bit 0-byte of pBits
111
int32_t nResolutionX;
112
int32_t nResolutionY;
113
113
char reserved[16]; // zero filled reserve
117
117
typedef struct tagRecAlt
120
Word8 CodeExt; // for unicode
121
Word8 Method; // recognize method
120
uchar CodeExt; // for unicode
121
uchar Method; // recognize method
125
125
typedef struct tagUniAlt
128
Word8 Liga; // for unicode
129
Word8 Method; // recognize method
128
uchar Liga; // for unicode
129
uchar Method; // recognize method
135
135
typedef struct tagClustAlt
137
Int16 nClust; // cluster index; zero - structure is not initiated
138
Word8 nDist; // distance
137
int16_t nClust; // cluster index; zero - structure is not initiated
138
uchar nDist; // distance
142
142
typedef struct tagRecVersions
144
Int32 lnAltCnt; // count of alternates
145
Int32 lnAltMax; // maximum of alternates
144
int32_t lnAltCnt; // count of alternates
145
int32_t lnAltMax; // maximum of alternates
146
146
RecAlt Alt[REC_MAX_VERS]; // alternates array
148
148
typedef struct tagUniVersions
150
Int32 lnAltCnt; // count of alternates
151
Int32 lnAltMax; // maximum of alternates
150
int32_t lnAltCnt; // count of alternates
151
int32_t lnAltMax; // maximum of alternates
152
152
UniAlt Alt[REC_MAX_VERS]; // alternates array
155
155
typedef struct tagRecVector {
157
Int32 incline; // 2048 * tangens
157
int32_t incline; // 2048 * tangens
158
158
#define INCLINE_UNKNOWN (-0x41414141) /// _______
159
Int32 len; // -1 - It isn't vector; metric Eucleede � x� + y�
161
Int32 Cx,Cy; // debug purposes
163
Word8 Mn; // normalized moment
159
int32_t len; // -1 - It isn't vector; metric Eucleede ы xэ + yэ
161
int32_t Cx,Cy; // debug purposes
163
uchar Mn; // normalized moment
165
165
#define MAX_VECT 64
166
166
#define NORMA_FACTOR 12
169
169
typedef struct tagRecData
173
173
RecRaster recRaster; // basic raster. Can be not changed
174
Word16 v3x5[16]; // normalizeted image 3x5
175
Word32 lwCompCnt; // number of components, 0 - not counted
174
uint16_t v3x5[16]; // normalizeted image 3x5
175
uint32_t lwCompCnt; // number of components, 0 - not counted
177
177
RecVector vSticks[MAX_VECT];
181
181
typedef struct tagRecObject
184
184
RecVersions recResults;
185
Word32 lwStatusMethods; // indicator of used methods
185
uint32_t lwStatusMethods; // indicator of used methods