П.1.1. Назначение программы
Программа «Обработка и кодирование сегментов», обозначаемая как SegCode, предназначена для формирования кодов сегментов линий, содержащих координаты необходимых точек в зависимости от типа кодируемого сегмента. В процессе работы с программой обрабатывается массив точек, формируемый на основе входного файла изображения. В результате обработки осуществляется формирование массивов узлов и сегментов, на основании значений которых формируется код определенного сегмента. При этом учитываются типы узлов, а также типы кодируемых сегментов. Полученные результаты обработки могут быть выведены как на экран, так и в файл, и могут быть обработаны в других подсистемах.
Данная программа применяется в составе «Системы автоматизированного анализа пространственной структуры изображений».
П.1.2. Условия применения программы
При работе с программой необходимо обеспечить выполнение следующих требований к комплексу технических средств:
|
|
- персональный компьютер IBM PC с процессором не ниже Pentium I;
- клавиатура;
- монитор;
- жесткий диск с объемом свободного пространства не менее 50 МБ;
- оперативная память объемом не менее 128 МБ.
Работа программы возможна только на ЭВМ, которые поддерживают 32-разрядные операционные системы семейства Windows, такие как Windows 95, Windows NT или выше.
Программа реализована в среде программирования Borland C++ Builder 6.
Программа является самостоятельным модулем, не требующим установки дополнительного программного обеспечения
Программа состоит из модулей, каждый из которых обращается к подпрограммам:
Модуль lineseg.cpp:
- actExitExecute – обработка запроса завершения работы программы;
- FormCreate – создание формы обработки изображения;
- actZoomInExecute – режим увеличения изображения;
- actZoomOutExecute - режим уменьшения изображения;
- actOpenFileExecute – открытие файла для обработки;
- actSaveFileExecute – сохранение файла;
- Image2MouseMove – обработка события движения указателя мыши при наведении на элементы изображения;
- Image2MouseDown – обработка события нажатия кнопки мыши при редаутировании изображения;
- actZoom1Execute - режим установки масштаба изображения 100%;
- actAnalyzeExecute – вызов основной функции обработки изображения;
- FormCanResize – изменение размера окна;
- actNewFileExecute – создание нового файла для обработки;
- actGridCheckExecute – изменение режима просмотра сетки;
- actLightCheckExecute - изменение режима подсветки структурных элементов изображения;
- actZoom10Execute – режим установки 10-кратного увеличения изображения;
- actSegLightCheckExecute - изменение режима подсветки сегментов линий;
- actLockViewExecute – изменение режима блокировки изображения;
|
|
- actAnalyzeNodeExecute – обработка узлов изображения;
- actAnalyzeSegExecute – обработка сегментов изображения;
- FormCloseQuery – обработка запроса на закрытие окна;
- actOpenArrayExecute – открытие изображения из файла массива точек;
- actSaveArrayExecute – сохранение изображения в файл массива точек;
- actOptionsExecute – вызов окна настройки;
- actSaveCodeExecute – запись результата обработки изображения в файл;
- actSegCodeOutExecute – выполнение алгоритма формирования координат сегментов;
- ZoomTo –установка заданного масштаба изображения;
- DrawGrid – рисование сетки изображения;
- ShowInfo – отображение информации о текущем состоянии;
- NeigCount – определение количества соседних точек;
- VectMove – осуществление движения координат обработки изобржаения в заданном направлении;
- wlog – вывод информации в журнал вычислений;
- VectToStr – преобразование кода вектора направления в строку;
- ValidateView – обработка свойств доступности элементов панели управления;
- plDistance(x, y, x1, y1, x2, y2) – вычисление расстояние (минимального) от точки (x,y) до прямой, заданной точками (x1,y1) и (x2,y2)
StrToLen – выравнивание строки для образования формата определенной длины;
- NeigNode – рекурсивная обработка соседей точки на принадлежность узлу
- NeigLine – рекурсивная обраобтка соседей точки (x,y) на принадлежность сегменту
- GetLineVect – рекурсивная обработка кода сегмента линии;
- NodeCentre - вычисление значения центра узла;
- FillLine изменение принадлежности точек одного сегмента другому;
- CodeLine – формирование кода сегмента линии.
Модуль lsImgSize:
- btnCancelClick – обработка события отмены создания нового файла;
TfrmImgSize – конструктор диалога создания нового файла;
Модуль lsOptions:
- btnCancelClick – обработка события отмены изменения настроек программы;
- Label1MouseDown – обработка события изменения цвета сетки изображения;
- Label2MouseDown – обработка события изменения цвета подсветки линий изображения;
- Label3MouseDown – обработка события изменения цвета подсветки узлов изображения;
- Label4MouseDown – обработка события изменения шрифта окна журнала;
- Label5MouseDown – обработка события изменения шрифта окна результатов;
- TfrmOptions – конструктор диалога настройки программы;
П.1.3. Характеристики программы
Программа имеет следующие режимы работы:
- импорт/экспорт файлов изображений;
- просмотр и редактирование изображений;
- поиск узлов;
- поиск сегментов;
- кодирование сегментов;
- автоматическая обработка изображения.
Просмотр и редактирование изображений выполняется по мере необходимости.
Импорт/экспорт файлов изображений осуществляется при получении входной информации и также при необходимости ее дополнительного вывода.
Поиск узлов, поиск сегментов и кодирование линий выполняются при необходимости пошаговой обработки изображения.
Автоматическая обработка изображения включает в себя полный цикл обработки изображения, не требующий дополнительных действий и позволяющий нажатием одной кнопки получить готовый результат.
Любой из режимов работы может быть выбран пользователем с выбором соответствующего пункта меню.