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:
128
128
/*----------------------------------------------------------------------------*/
130
RNEG_FUNC(Bool32) RNEG_Init(Word16 wHeightCode,Handle parent)
130
RNEG_FUNC(Bool32) RNEG_Init(uint16_t wHeightCode,Handle parent)
132
132
LDPUMA_Init(0,NULL);
135
LDPUMA_Registry (&NegRoot,"����� � ������������� ���������", parent);
135
LDPUMA_Registry (&NegRoot,"Поиск и распознование негативов", parent);
136
136
const char *pText;
137
/* �������� ������� */
138
pText = "<������������� ���. �����������> \
139
\n �������� ������� ������� ������ � ������������� ���������.";
137
/* Корневая вершина */
138
pText = "<Ответственный тов. Степаненков> \
139
\n Корневая вершина отладки поиска и распознавания негативов.";
140
140
LDPUMA_RegistryHelp (NegRoot, pText, FALSE);
141
141
LDPUMA_RegVariable (NegRoot,"inf_neg_black",&inf_neg_black,"double");
142
142
LDPUMA_RegVariable (NegRoot,"sup_neg_black_del",&sup_neg_black_del,"double");
143
143
LDPUMA_RegVariable (NegRoot,"weak_neg_black_del",&weak_neg_black_del,"double");
145
/*������� ������� ���� �������*/
146
LDPUMA_Registry (&SetSkew,"������ ���� �������", NegRoot);
147
pText = "������ ���� ������� ��������";
145
/*Вершина задания угла наклона*/
146
LDPUMA_Registry (&SetSkew,"Задать угол наклона", NegRoot);
147
pText = "Задать угол наклона страницы";
148
148
LDPUMA_RegistryHelp (SetSkew, pText, FALSE);
149
149
LDPUMA_RegVariable (SetSkew,"Skew",&Skew,"int");
152
LDPUMA_Registry (&NegSearch,"����� ���������� � ��������", NegRoot);
153
pText = "����� ���������� � ��������";
152
LDPUMA_Registry (&NegSearch,"Поиск кандидатов в негативы", NegRoot);
153
pText = "Поиск кандидатов в негативы";
154
154
LDPUMA_RegistryHelp (NegSearch, pText, FALSE);
156
/*������� pac����������*/
157
LDPUMA_Registry (&NegRec,"������������� ����������� ���������", NegRoot);
158
pText = "������������� ����������� ���������";
156
/*Вершина pacпознования*/
157
LDPUMA_Registry (&NegRec,"Распознавание отловленных негативов", NegRoot);
158
pText = "Распознавание отловленных негативов";
159
159
LDPUMA_RegistryHelp (NegRec, pText, FALSE);
160
160
LDPUMA_RegVariable (NegRec,"NegRecTYPEE",&NegRecTYPEE,"int");
163
/*������� ������ �� ��������*/
164
LDPUMA_Registry (&NegSearchSize,"����� �� ��������", NegSearch);
165
pText = "����� ���������� � �������� �� ��������";
163
/*Вершина поиска по размерам*/
164
LDPUMA_Registry (&NegSearchSize,"Поиск по размерам", NegSearch);
165
pText = "Поиск кандидатов в негативы по размерам";
166
166
LDPUMA_RegistryHelp (NegSearchSize, pText, FALSE);
168
/*������� ������ �� ��������*/
169
LDPUMA_Registry (&NegSize,"����� �� ��������", NegSearch);
170
pText = "����� ���������� � �������� �� ��������";
168
/*Вершина отсева по размерам*/
169
LDPUMA_Registry (&NegSize,"Отсев по размерам", NegSearch);
170
pText = "Отсев кандидатов в негативы по размерам";
171
171
LDPUMA_RegistryHelp (NegSize, pText, FALSE);
173
/*������� ������������ ��������� ����������*/
174
LDPUMA_Registry (&NegNorm,"������������", NegSearch);
175
pText = "������������ ��������� ���������� � ��������";
173
/*Вершина нормализации найденных кандидатов*/
174
LDPUMA_Registry (&NegNorm,"Нормализация", NegSearch);
175
pText = "Нормализация найденных кандидатов в негативы";
176
176
LDPUMA_RegistryHelp (NegNorm, pText, FALSE);
178
/*������� ����� ��������� ����������*/
179
LDPUMA_Registry (&NegCut,"�����", NegSearch);
180
pText = "����� ��������� ���������� � ��������";
178
/*Вершина резки найденных кандидатов*/
179
LDPUMA_Registry (&NegCut,"Резка", NegSearch);
180
pText = "Резка найденных кандидатов в негативы";
181
181
LDPUMA_RegistryHelp (NegCut, pText, FALSE);
183
/*������� ����� �������������*/
184
LDPUMA_Registry (&NegCutStr,"����� �������������", NegSearch);
185
pText = "����� ��������� ������������� ���������� � ��������";
183
/*Вершина резки многострочных*/
184
LDPUMA_Registry (&NegCutStr,"Резка многострочных", NegSearch);
185
pText = "Резка найденных многострочных кандидатов в негативы";
186
186
LDPUMA_RegistryHelp (NegCutStr, pText, FALSE);
188
/*������� ������ �� �������� �����*/
189
LDPUMA_Registry (&NegColor,"����� �� �������� �����", NegSearch);
190
pText = "����� �� �������� ����� ��������� ���������� � ��������";
188
/*Вершина отсева по цветовой гамме*/
189
LDPUMA_Registry (&NegColor,"Отсев по цветовой гамме", NegSearch);
190
pText = "Отсев по цветовой гамме найденных кандидатов в негативы";
191
191
LDPUMA_RegistryHelp (NegColor, pText, FALSE);
193
/*������� ���������� ��������� ���������� � �������� �� ��������*/
194
LDPUMA_Registry (&NegSearchSizeD,"���������� �� ��������", NegSearchSize);
195
pText = "���������� ��������� ���������� � �������� �� ��������";
193
/*Вершина прорисовки найденных кандидатов в негативы по размерам*/
194
LDPUMA_Registry (&NegSearchSizeD,"Прорисовка по размерам", NegSearchSize);
195
pText = "Прорисовка найденных кандидатов в негативы по размерам";
196
196
LDPUMA_RegistryHelp (NegSearchSizeD, pText, FALSE);
198
/*���� �� ��������� ?*/
199
LDPUMA_Registry (&NegSearchSizeDC,"�� �������!!!", NegSearchSizeD);
200
pText = "���������� ��� ��������";
198
/*Надо ли подчищать ?*/
199
LDPUMA_Registry (&NegSearchSizeDC,"Не чистить!!!", NegSearchSizeD);
200
pText = "Специально для ГРЯЗНУЛЬ";
201
201
LDPUMA_RegistryHelp (NegSearchSizeDC, pText, FALSE);
203
/*������� ���������� ��������� ���������� � �������� �� ��������*/
204
LDPUMA_Registry (&NegSizeD,"������������� ���������� �� ��������", NegSize);
205
pText = "���������� ��������� ���������� � �������� �� ��������";
203
/*Вершина прорисовки отсеянных кандидатов в негативы по размерам*/
204
LDPUMA_Registry (&NegSizeD,"Окончательная прорисовка по размерам", NegSize);
205
pText = "Прорисовка отсеянных кандидатов в негативы по размерам";
206
206
LDPUMA_RegistryHelp (NegSizeD, pText, FALSE);
208
/*���� �� ��������� ?*/
209
LDPUMA_Registry (&NegSizeDC,"�� �������!!!!", NegSizeD);
210
pText = "���������� ��� ��������";
208
/*Надо ли подчищать ?*/
209
LDPUMA_Registry (&NegSizeDC,"Не чистить!!!!", NegSizeD);
210
pText = "Специально для ГРЯЗНУЛЬ";
211
211
LDPUMA_RegistryHelp (NegSizeDC, pText, FALSE);
213
/*������� ���������� ��������������� ���������� � ��������*/
214
LDPUMA_Registry (&NegNormD,"���������� ���������������", NegNorm);
215
pText = "���������� ��������������� ���������� � ��������";
213
/*Вершина прорисовки нормализованных кандидатов в негативы*/
214
LDPUMA_Registry (&NegNormD,"Прорисовка нормализованных", NegNorm);
215
pText = "Прорисовка нормализованных кандидатов в негативы";
216
216
LDPUMA_RegistryHelp (NegNormD, pText, FALSE);
218
/*���� �� ��������� ?*/
219
LDPUMA_Registry (&NegNormDC,"�� ���������!!!", NegNormD);
220
pText = "���������� ��� ��������";
218
/*Надо ли подчищать ?*/
219
LDPUMA_Registry (&NegNormDC,"Не подтирать!!!", NegNormD);
220
pText = "Специально для ГРЯЗНУЛЬ";
221
221
LDPUMA_RegistryHelp (NegNormDC, pText, FALSE);
223
/*������� ���������� ����������� ���������� � ��������*/
224
LDPUMA_Registry (&NegCutD,"���������� �����������", NegCut);
225
pText = "���������� ����������� ���������� � ��������";
223
/*Вершина прорисовки разрезанных кандидатов в негативы*/
224
LDPUMA_Registry (&NegCutD,"Прорисовка разрезанных", NegCut);
225
pText = "Прорисовка разрезанных кандидатов в негативы";
226
226
LDPUMA_RegistryHelp (NegCutD, pText, FALSE);
228
/*���� �� ��������� ?*/
229
LDPUMA_Registry (&NegCutDC,"�� ���������!!!!", NegCutD);
230
pText = "���������� ��� ��������";
228
/*Надо ли подчищать ?*/
229
LDPUMA_Registry (&NegCutDC,"Не подтирать!!!!", NegCutD);
230
pText = "Специально для ГРЯЗНУЛЬ";
231
231
LDPUMA_RegistryHelp (NegCutDC, pText, FALSE);
233
/*������� ���������� ����������� ������������� ���������� � ��������*/
234
LDPUMA_Registry (&NegCutStrD,"���������� ����������� �������������", NegCutStr);
235
pText = "���������� ����������� ������������� ���������� � ��������";
233
/*Вершина прорисовки разрезанных многострочных кандидатов в негативы*/
234
LDPUMA_Registry (&NegCutStrD,"Прорисовка разрезанных многострочных", NegCutStr);
235
pText = "Прорисовка разрезанных многострочных кандидатов в негативы";
236
236
LDPUMA_RegistryHelp (NegCutStrD, pText, FALSE);
238
/*���� �� ��������� ?*/
239
LDPUMA_Registry (&NegCutStrDC,"�� ���������!!!!!", NegCutStrD);
240
pText = "���������� ��� ��������";
238
/*Надо ли подчищать ?*/
239
LDPUMA_Registry (&NegCutStrDC,"Не подтирать!!!!!", NegCutStrD);
240
pText = "Специально для ГРЯЗНУЛЬ";
241
241
LDPUMA_RegistryHelp (NegCutStrDC, pText, FALSE);
243
/*������� ���������� ����� ������ �� �������� �����*/
244
LDPUMA_Registry (&NegColorD,"���������� �� �������� �����", NegColor);
245
pText = "���������� ���������� � �������� ����� ������ �� �������� �����";
243
/*Вершина прорисовки после отсева по цветовой гамме*/
244
LDPUMA_Registry (&NegColorD,"Прорисовка по цветовой гамме", NegColor);
245
pText = "Прорисовка кандидатов в негативы после отсева по цветовой гамме";
246
246
LDPUMA_RegistryHelp (NegColorD, pText, FALSE);
248
/*���� �� ��������� ?*/
249
LDPUMA_Registry (&NegColorDC,"�� ���������!!!", NegColorD);
250
pText = "���������� ��� ��������";
248
/*Надо ли подчищать ?*/
249
LDPUMA_Registry (&NegColorDC,"Не подчищать!!!", NegColorD);
250
pText = "Специально для ГРЯЗНУЛЬ";
251
251
LDPUMA_RegistryHelp (NegColorDC, pText, FALSE);
253
/*������� ���������� ��������� � ��������*/
254
LDPUMA_Registry (&NegRecD,"���������� ���������", NegRec);
255
pText = "���������� ��������� � ��������";
253
/*Вершина прорисовки компонент в негативе*/
254
LDPUMA_Registry (&NegRecD,"Прорисовка компонент", NegRec);
255
pText = "Прорисовка компонент в негативе";
256
256
LDPUMA_RegistryHelp (NegRecD, pText, FALSE);
258
/*���� �� ��������� ?*/
259
LDPUMA_Registry (&NegRecDC,"�� �������!!!", NegRecD);
260
pText = "���������� ��� ��������";
258
/*Надо ли подчищать ?*/
259
LDPUMA_Registry (&NegRecDC,"Не стирать!!!", NegRecD);
260
pText = "Специально для ГРЯЗНУЛЬ";
261
261
LDPUMA_RegistryHelp (NegRecDC, pText, FALSE);
263
/*������� ���������� ����������*/
264
LDPUMA_Registry (&NegResD,"���������� �������� ����������", NegRoot);
265
pText = "���������� �������� ����������";
263
/*Вершина прорисовки результата*/
264
LDPUMA_Registry (&NegResD,"Визуальный просмотр результата", NegRoot);
265
pText = "Визуальный просмотр результата";
266
266
LDPUMA_RegistryHelp (NegResD, pText, FALSE);
267
267
PrintResConsole=NegResD;
269
/*����� ��������� � ����������� �������� � ��������� ������������*/
270
LDPUMA_Registry (&hShowNegComps, "�������� ��������� � ��������� ����", NegResD);
271
LDPUMA_RegistryHelp (hShowNegComps, "������ ���������� � ������������ �������� ������������ ��� ���� ����������: �����-����� � ������-����", FALSE);
269
/*Показ компонент в вертикаьном негативе в различных направлениях*/
270
LDPUMA_Registry (&hShowNegComps, "Просмотр компонент в отдельном окне", NegResD);
271
LDPUMA_RegistryHelp (hShowNegComps, "Каждая компонента в вертикальном негативе показывается для двух напрвлений: снизу-вверх и сверху-вниз", FALSE);
273
/*������� ������ � ���� ����������*/
274
LDPUMA_Registry (&NegPrintFILE,"������ � ���� �����������", NegRoot);
275
pText = "������ � ���� recneg.res �����������";
273
/*Вершина печати в файл результата*/
274
LDPUMA_Registry (&NegPrintFILE,"Печать в файл результатов", NegRoot);
275
pText = "Печать в файл recneg.res результатов";
276
276
LDPUMA_RegistryHelp (NegPrintFILE, pText, FALSE);
278
/*������� ������ � ������� ����������*/
278
/*Вершина печати в консоль результата*/
280
LDPUMA_Registry (&PrintResConsole,"������ � ������� �����������", NegRoot);
281
pText = "������ � ������� ����������� ������������� � ������������� ������";
280
LDPUMA_Registry (&PrintResConsole,"Печать в консоль результатов", NegRoot);
281
pText = "Печать в консоль результатов распознавания и вероятностных оценок";
282
282
LDPUMA_RegistryHelp (PrintResConsole, pText, FALSE);
284
/*������������ ������� RecogOneLetter*/
285
LDPUMA_Registry (&RecOneLetter,"������������ ������� RecogOneLetter", NegRec);
286
pText = "������������ ������� RecogOneLetter";
284
/*Использовать функцию RecogOneLetter*/
285
LDPUMA_Registry (&RecOneLetter,"Использовать функцию RecogOneLetter", NegRec);
286
pText = "Использовать функцию RecogOneLetter";
287
287
LDPUMA_RegistryHelp (RecOneLetter, pText, FALSE);
289
/*���� ���������� CHSTR*/
290
LDPUMA_Registry (&TestCHSTR,"���� ���������� CHSTR", NegRoot);
291
pText = "�������� � CHSTR ������ � �����������, ��������� � ������ �������";
289
/*Тест контейнера CHSTR*/
290
LDPUMA_Registry (&TestCHSTR,"Тест контейнера CHSTR", NegRoot);
291
pText = "Положить в CHSTR объект с параметрами, заданными в данной вершине";
292
292
LDPUMA_RegistryHelp (TestCHSTR, pText, FALSE);
293
293
LDPUMA_RegVariable (TestCHSTR,"TOP",&TOP,"int");
294
294
LDPUMA_RegVariable (TestCHSTR,"BOTTOM",&BOTTOM,"int");