Программный комплекс для автоматизации обработки изображений для выделения границ на изображении в оттенках серого
Анализ предметной области автоматизации обработки изображений для выделения границ на изображении в оттенках серого, обзор программного обеспечения. Разработка математической модели. Структура и функциональное назначение модулей программного обеспечения.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 24.03.2013 |
Размер файла | 6,2 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
1. Общая часть
1.1 Анализ предметной области автоматизации обработки изображений для выделения границ на изображении в оттенках серого
Обработка изображения, основные понятия и определения
Любая форма обработки информации, для которой входные данные представлены изображением, например, фотографиями или видеокадрами называется обработкой изображений. Обработка изображений может осуществляться как для получения изображения на выходе (например, подготовка к полиграфическому тиражированию, к телетрансляции и т.д.), так и для получения другой информации (например, распознание текста, подсчёт числа и типа клеток в поле микроскопа и т.д.)[1].
Свет, излучаемый или отражаемый объектами и проецируемый на участок сетчатки нашего глаза, имеет сложное спектральное распределение. Сетчатка глаза состоит из рецепторов трёх видов, чувствительных к разным областям видимого света. Поэтому набора из трёх чисел достаточно, чтобы описать цвет. Плоское изображение - это функции зависимости цвета от координат, причём координаты принимают дискретные значения. Известны два основных подхода к формированию и хранению изображений: растровая графика и векторная графика, также существуют их комбинации.
Сегодня редактирование изображений проводится в основном на компьютере растровыми редакторами в цифровом виде. Современные редакторы не лишены недостатков, однако грамотное их использование позволяет решить большинство задач, возникающих при редактировании изображений.
В качестве источников изображений в современном мире выступают: Изображение с цифрового фотоаппарата, негативные фотоплёнки и слайды после оцифровки с помощью сканера Фотобанки Серверы файлообмена и поисковые системы. На этих ресурсах нередко можно встретить изображения без ограничений на использование.
Основные термины, используемые для выделения границ на изображении, приведены в глоссарии, который представлен в таблице 1.1
Таблица 1.1 - Глоссарий предметной области
№ |
Термин |
Определение |
|
1 |
Обработка изображений |
Любая форма обработки информации, для которой входные данные представлены изображением, например, фотографиями или видеокадрами. |
|
2 |
Выделение границ |
Термин в теории обработки изображения и компьютерного зрения, частично из области поиска объектов и выделения объектов, основывается на алгоритмах, которые выделяют точки цифрового изображения, в которых резко изменяется яркость или есть другие виды неоднородностей. |
|
3 |
Градиент |
Вектор, своим направлением указывающий направление наискорейшего возрастания некоторой величины, значение которой меняется от одной точки пространства к другой, а по величине равный быстроте роста этой величины в этом направлении. |
|
4 |
Точка |
Простейший графический примитив, имеющий нулевую размерность. Точка характеризуется только координатами своего местоположения. |
|
5 |
Сглаживание |
Технология, использующаяся в обработке изображений с целью сделать границы кривых линий визуально более гладкими, убирая «зубцы», возникающие при растеризации на краях объектов |
|
6 |
Вектор |
Упорядоченная пара точек, одна из которых называется началом, вторая - концом вектора. |
|
7 |
Пиксель |
Наименьший логический элемент двумерного цифрового изображения в растровой графике. |
|
8 |
Растровое изображение |
Представляет собой сетку пикселей или цветных точек на компьютерном мониторе, бумаге и других отображающих устройствах и материалах. |
|
9 |
Графический формат |
Способ записи графической информации |
|
10 |
RGB(Red, Green, Blue) |
Аддитивная цветовая модель, как правило, описывающая способ синтеза цвета для цветовоспроизведения. |
|
11 |
Аддитивное смешение цветов |
Метод синтеза цвета, основанный на сложении аддитивных цветов, то есть цветов непосредственно излучающих объектов |
|
12 |
Цветовая модель |
Термин, обозначающий абстрактную модель описания представления цветов в виде кортежей чисел, обычно из трёх или четырёх значений, называемых цветовыми компонентами или цветовыми координатами. |
|
13 |
Глубина цвета |
Термин компьютерной графики, означающий объём памяти в количестве бит, используемых для хранения и представления цвета при кодировании одного пикселя растровой графики или видеоизображения. |
|
14 |
Оттенки серого |
Цветовой режим изображений, которые отображаются в оттенках серого цвета, размещённые в виде таблицы в качестве эталонов яркости белого цвета. |
|
15 |
Предметная область (ПО) |
Под контекстом здесь может пониматься, например, область исследования или область, которая является объектом некоторой деятельности |
|
16 |
Программный продукт (ПП) |
Набор компьютерных программ, процедур и, воз-можно, связанных с ними документов и данных |
|
17 |
Свёртка |
Это операция, показывающая «схожесть» одной функции с отражённой и сдвинутой копией другой |
|
18 |
Графический интерфейс пользователя |
Разновидность пользовательского интерфейса, в котором элементы интерфейса (меню, кнопки, значки, списки и т. п.), представленные пользователю на дисплее, исполнены в виде графических изображений. |
|
19 |
Пользователь |
Лицо, которое использует действующую систему для выполнения конкретной функции. |
|
20 |
Контур |
В общем случае, замкнутая линия, очертание некоторой геометрической фигуры, предмета. |
|
21 |
Цифровой фильтр |
Фильтр, используемый в цифровой обработке сигналов и изображений для изменения уровня шума, выделения сигнала определённой частоты и других задач. |
|
22 |
Сегментация |
Процесс разделения цифрового изображения на несколько сегментов для упрощении и/или изменении представления изображения, чтобы его было проще и легче анализировать |
|
23 |
Контур Детектор |
Главный класс в разрабатываемой программе, в котором реализованы основные методы работы с изображением |
|
24 |
Растровый графический редактор |
Специализированная программа, предназначенная для создания и обработки растровых изображений |
Растровая графика
Растровая графика описывает изображения с использованием цветных точек, называемых пикселями, расположенных на сетке[2]. При редактировании растровой графики редактируются пиксели. Растровая графика зависит от разрешения, поскольку информация, описывающая изображение, прикреплена к сетке определенного размера. При редактировании растровой графики, качество ее представления может измениться. В частности, изменение размеров растровой графики может привести к размытию краев изображения, поскольку пиксели будут перераспределяться на сетке. Вывод растровой графики на устройства с более низким разрешением, чем разрешение самого изображения, понизит его качество.
Основой растрового представления графики является пиксель (точка) с указанием ее цвета. При описании, например, красного эллипса на белом фоне приходится указывать цвет каждой точки как эллипса, так и фона. Изображение представляется в виде большого количества точек - чем их больше, тем визуально качественнее изображение и больше размер файла. Т.е. одна и даже картинка может быть представлена с лучшим или худшим качеством в соответствии с количеством точек на единицу длины - разрешением (обычно, точек на дюйм - dpi или пикселей на дюйм - ppi).
Кроме того, качество характеризуется еще и количеством цветов и оттенков, которые может принимать каждая точка изображения. Чем большим количеством оттенков характеризуется изображения, тем большее количество разрядов требуется для их описания. Красный может быть цветом номер 001, а может и - 00000001. Таким образом, чем качественнее изображение, тем больше размер файла.
Растровое представление обычно используют для изображений фотографического типа с большим количеством деталей или оттенков. К сожалению, масштабирование таких картинок в любую сторону обычно ухудшает качество. При уменьшении количества точек теряются мелкие детали и деформируются надписи (правда, это может быть не так заметно при уменьшении визуальных размеров самой картинки - т.е. сохранении разрешения). Добавление пикселей приводит к ухудшению резкости и яркости изображения, т.к. новым точкам приходится давать оттенки, средние между двумя и более граничащими цветами. Распространены форматы.tif.gif.jpg.png.bmp
Выделение границ
Одной из основных и важнейших целей цифровой обработки изображений является распознавание присутствующих на них объектов. Возможность различать объекты заложена в высокой информативности изображения. В значительной мере именно это и привлекает разработчиков различных информационных систем к использованию изображений как способу представления результатов наблюдения[3].
Вместе с тем предъявляемые к обработке изображения содержат много избыточных мало информативных сведений, которые занимают, однако, большие объемы памяти, и требующих выполнения большого количества вычислений при попытке использовать их для распознавания. В теории распознавания образов существуют методы, позволяющие выяснять степень информативности тех или иных признаков. Однако в настоящее время эти методы не нашли широкого применения в распознавании изображений.
Значительно шире применяются методы сокращения избыточности, опирающиеся на специфические особенности зрительного восприятия изображений. Считается, что субъективное восприятие наблюдаемой сцены происходит через ее представление в виде отдельных однородных областей (т.е. сегментацию) и выделение контурных линий. Контурные, или граничные, линии разделяют на изображении участки с различными свойствами, поэтому выделение контуров иногда рассматривается как предварительная обработка, направленная на последующее выполнение сегментации. Вместе с тем, препарат, образующийся в некоторых случаях, может и самостоятельно эффективно использоваться для распознавания, поскольку содержащаяся в нем информация, по крайней мере, с точки зрения зрительного восприятия, вполне достаточна для решения многих задач такого типа.
Основной целью обнаружения резких изменений яркости изображения является фиксация важных событий и изменений мира. Они могут отражать различные предположения о модели формирования изображения, изменения в яркости изображения могут указывать на:
– изменения глубины;
– изменения ориентации поверхностей;
– изменения в свойствах материала;
– различие в освещении сцены.
В идеальном случае, результатом выделения границ является набор связанных кривых, обозначающих границы объектов, граней и оттисков на поверхности, а также кривые которые отображают изменения положения поверхностей. Таким образом, применение фильтра выделения границ к изображению может существенно уменьшить количество обрабатываемых данных, из-за того, что отфильтрованная часть изображения считается менее значимой, а наиболее важные структурные свойства изображения сохраняются. Однако не всегда возможно выделить границы в картинах реального мира средней сложности. Границы, выделенные из таких изображений, часто имеют такие недостатки как фрагментированость, отсутствие границ или наличие ложных, не соответствующих исследуемому объекту, границ[4].
Границы выделенные на двумерном изображении трехмерной сцены могут быть подразделены на зависимые или не зависимые от точки обзора. Независимые от точки обзора границы обычно отражают свойства, унаследованные у объектов трехмерной сцены, такие как расцветка поверхности и её форма. Зависимые от точки обзора границы могут меняться с изменением точки обзора и отражают геометрию сцены, как, например, перекрывающиеся объекты.
Обычной границей может быть, например, граница между блоками красного и жёлтого цвета. С другой стороны линия может быть набором пикселей отличающегося цвета на постоянном фоне. Поэтому у линии может быть по границе с каждой стороны от неё.
Актуальность выделения контуров обуславливается тем, что это начальный этап распознавания образов. В свою очередь, задача распознавания образов решается в таких сферах, как системы технического зрения, применимые для распознавания текста, определения дефектов производимых изделий, узнавания лиц, обнаружения ДТП, управления автомобилем и др
Обзор существующего программного обеспечения для автоматизации выделения границ на изображении
В настоящее время существует множество графических редакторов для обработки изображений от многофункциональных редакторов до узкоспециализированых.Нижу рассмотрим некоторые современные редакторы.
Adobe Photoshop (AP) - многофункциональный графический редактор, разработанный и распространяемый фирмой Adobe Systems. В основном работает с растровыми изображениями, однако имеет некоторые векторные инструменты. На рисунке 1.1 показан интерфейс приложения.
Поддерживается обработка изображений, с глубиной цвета 8 бит 16 бит, и 32 бит Поддерживается обработка изображений, с глубиной цвета 8 бит, 16 бит и 32 бит (используются числа одинарной точности с плавающей запятой). Возможно сохранение в файле дополнительных элементов, как то: направляющих, каналов, путей обтравки слоёв, содержащих векторные и текстовые объекты. Файл может включать цветовые профили (ICC), функции преобразования цвета (transfer functions). Допускаются неквадратные пиксели.
Достоинства:
– Photoshop предоставляет пользователю большое количество функций для обработки изображений;
– возможность работы с различными графическими форматами;
– поддерживает работу со слоями.
Недостатки:
– высокая стоимость;
– сложность в освоении.
Рисунок 1.1 - Интерфейс приложения Photoshop
программный изображение модуль автоматизация
GIMP (GNU Image Manipulation Program) - растровый графический редактор, программа для создания и обработки растровой графики и частичной поддержкой работы с векторной графикой. На рисунке 1.2 показан интерфейс приложения
Типичные задачи, которые можно решать при помощи GIMP, включают в себя создание графики и логотипов, масштабирование и кадрирование фотографий, раскраска, комбинирование изображений с использованием слоёв, ретуширование и преобразования изображений в различные форматы.
Достоинства:
– имеет достаточный функциональный набор для обработки изображений;
– бесплатен;
– открытый исходный код;
– имеет возможность свертки с заданной матрицей.
Недостатки:
– не используются стандартные панели управления Windows;
– Интерфейс, весь редактор состоит лишь из окон инструментов.
Рисунок 1.2 - Интерфейс приложения GIMP
Paint.NET - бесплатный растровый графический редактор рисунков и фотографий для Windows, разработанный на платформе.NET Framework. Поддерживается работа со слоями, есть возможность создания разнообразных эффектов, отлично работает откат. Позволяет использовать различные загружаемые модули. Программа имеет русский интерфейс. На рисунке 1.3 показан интерфейс приложения.
Достоинства:
– программа бесплатна для распространения и использования;
– имеет много загружаемых модулей;
– небольшой вес.
Недостатки:
– требуется время для освоения интерфейса программного продукта;
– выделение контура идет отдельным загружаемым модулем.
Рисунок 1.3 - Интерфейс приложения Paint.NET
1.2 Разработка математической модели обработки изображений и выделения контуров в оттенках серого
Операторы Собеля, Шарра, Прюитта.
Для выделения границ на изображении в оттенках серого применяется множество алгоритмов. Одним из таких алгоритмов является оператор Собеля.
Оператор Собеля представляет собой неточное приближение градиента изображения, но подходит для практического применения во многих задачах[5]. Точнее, оператор использует значения интенсивности только в окрестности 3Ч3 каждого пиксела для получения приближения соответствующего градиента изображения, и использует только целочисленные значения весовых коэффициентов яркости для оценки градиента.
Формула оператора Собеля (1.1): Gx и Gy - две матрицы, где каждая точка содержит приближенные производные по x и по y. Они вычисляются следующим образом путем умножения матрицы Gx и Gy и суммированием обоих матриц, в результате полученный результат записывается в текущие координаты x и y в новое изображение:
(1.1)
Матрицы Gy и Gx(1.2):
and (1.2)
Алгоритм оператора Прюитта [6]подобен алгоритму оператору Собеля, за исключением использования другой матрицы(1.3):
and (1.3)
Алгоритм оператора Шарра подобен алгоритму оператору Собеля, за исключением использования другой матрицы(1.4):
(1.4)
Перекрестный оператор Робертса
Перекрёстный оператор Робертса - один из алгоритмов выделения границ, который вычисляет сумму квадратов разниц между диагонально смежными пикселами(1.5). Это может быть выполнено сверткой изображения с двумя ядрами[6]:
(1.5)
Преобразование каждого пиксела перекрёстным оператором Робертса может показать производную изображения вдоль ненулевой диагонали, и комбинация этих преобразованных изображений может также рассматриваться как градиент от двух верхних пикселов к двум нижним. Оператор Робертса всё ещё используется ради быстроты вычислений, но он проигрывает в сравнении с альтернативами с его значительной проблемой чувствительности к шуму. Он даёт линии тоньше, чем другие методы выделения границ.
В результате использования операции дискретного двумерного дифференцирования получается новое значение, которое записывается в новое фото.
Оператор Кэнни
Оператор Кэнни использует многоступенчатый алгоритм для обнаружения широкого спектра границ в изображениях[7].
Алгоритм детектора границ не ограничивается вычислением градиента сглаженного изображения. В контуре границы оставляются только точки максимума градиента изображения, а не максимальные точки, лежащие рядом с границей, удаляются. Здесь также используется информация о направлении границы для того, чтобы удалять точки именно рядом с границей и не разрывать саму границу вблизи локальных максимумов градиента. Затем с помощью двух порогов удаляются слабые границы. Фрагмент границы при этом обрабатывается как целое. Если значение градиента где-нибудь на прослеживаемом фрагменте превысит верхний порог, то этот фрагмент остается также «допустимой» границей и в тех местах, где значение градиента падает ниже этого порога, до тех пор пока она не станет ниже нижнего порога. Если же на всем фрагменте нет ни одной точки со значением большим верхнего порога, то он удаляется. Такой гистерезис позволяет уменьшить число разрывов в выходных границах. Включение в алгоритм Кэнни шумоподавления с одной стороны повышает устойчивость результатов, а с другой - увеличивает вычислительные затраты и приводит к искажению и даже потере подробностей границ. В алгоритме применяется размытие изображения для удаления шума. Оператор Кэнни использует фильтр(1.6) который может быть хорошо приближен к первой производной гауссианы. = 1.4:
(1.6)
Границы отмечаются там, где градиент изображения приобретает максимальное значение(1.7). Они могут иметь различное направление, поэтому алгоритм Кэнни использует четыре фильтра для обнаружения горизонтальных, вертикальных и диагональных ребер в размытом изображении.
(1.7)
(1.8)
Угол направления вектора градиента округляется и может принимать такие значения: 0, 45, 90, 135.
Перед применением детектора, обычно преобразуют изображение в оттенки серого.
Метод Лапласа
Метод Лапласа[8] осуществляет перемножение каждого элемента двумерной апертуры 3х3 на соответствующий элемент так называемой матрицы Лапласа (1.9):
0 |
-1 |
0 |
1 |
1 |
1 |
-1 |
1 |
1 |
1 |
1 |
1 |
||||
-1 |
4 |
-1 |
1 |
-2 |
1 |
-1 |
-2 |
1 |
-1 |
-2 |
1 |
||||
0 |
-1 |
0 |
-1 |
-1 |
-1 |
-1 |
1 |
1 |
-1 |
-1 |
1 |
(1.9)
Свертка изображения
Фильтры, которые были перечислены, а так же множество других основаны на свертке. Свертка - это операция, показывающая «схожесть» одной функции с отражённой и сдвинутой копией другой. Понятие свёртки обобщается для функций, определённых на группах, а также мер[9].
Свертка - это операция вычисления нового значения выбранного пикселя, учитывающая значения окружающих его пикселей. Для вычисления значения используется матрица, называемая ядром свертки. Обычно ядро свертки является квадратной матрицей n*n, где n - нечетное. Во время вычисления нового значения выбранного пикселя ядро свертки «прикладывается» своим центром к данному пикселю. Окружающие пиксели так же накрываются ядром. Далее высчитывается сумма, где слагаемыми являются произведения значений пикселей на значения ячейки ядра, накрывшей данный пиксель. Сумма делится на сумму всех элементов ядра свертки. Полученное значение и является новым значением выбранного пикселя. Если применить свертку к каждому пикселю изображения, то в результате получится некий эффект, зависящий от выбранного ядра свертки.
1.3 Разработка структурно-функциональной модели автоматизации обработки изображений и выделения на них границ в оттенках серого на основе SADT-технологии
Бизнес-логика - совокупность правил, принципов, зависимостей поведения объектов предметной области, реализация правил и ограничений автоматизируемых операций. Реализация предметной области в информационной системе. [10]
Для описания бизнес логики используем методологию структурного анализа и проектирования SADT.
SADT - методология структурного анализа и проектирования, интегрирующая процесс моделирования, управление конфигурацией проекта, использование дополнительных языковых средств и руководство проектом со своим графическим языком[11].
Диаграмма SADT состоит из:
– Прямоугольников (функции системы). Здесь существует доминирование, которое видно по расположению блоков. Каждый блок имеет номер в соответствии с доминирование. Доминирование происходит по времени или по управленческой функции.
– Дуг - изображают взаимосвязь между объектами.
Контекстная SADT диаграмма нулевого уровня «Автоматизации обработки изображений для выделения границ на изображении в оттенках серого» представлена на рисунке 1.4.
Главной активностью предметной области есть «Выделение границ на изображении». На вход подается исходное изображение, выбор алгоритма и параметры сглаживания.
Исполнителями активности выступают: пользователь системы. Все действия исполнителя должны быть регламентированы алгоритмами сглаживания, алгоритмом преобразования к серому, поддерживаемыми форматами и алгоритмом выделения границ. На выходе получаем готовое обработанное изображение с выделенными границами. В таблице 1.2 приведено описание контекстной структурно-функциональной диаграммы нулевого уровня основного бизнес-процесса.
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Рисунок 1.4 - Контекстная SADT-диаграмма нулевого уровня для процесса
А-0 «Выделение границ на изображении»
Таблица 1.2 - Описание контекстной структурно-функциональной диаграммы нулевого уровня для процесса А0 «Выделение границ на изображении»
№ |
Входные данные |
Управление |
Исполнитель |
Выходные данные |
|
A0 |
Исходное изображение. Параметры сглаживания. Выбор алгоритма. |
Поддерживаемый формат. Алгоритм сглаживания. Алгоритм преобразования к серому. Алгоритм поиска границ. |
Пользователь |
Файл с обработанным изображением |
При детализации подсистемы или процесса детализирующая диаграмма в качестве внешних источников/приемников данных может иметь только те компоненты (подсистемы, процессы, внешние сущности, накопители данных), с которыми имеет информационную связь детализируемая подсистема или процесс на родительской диаграмме
Детализирующая структурно-функциональная диаграмма первого уровня представлена на рисунке 1.5. На данной диаграмме можно увидеть все основные этапы бизнес-процесса «Выделения границ на изображении» более детально. Сначала пользователь загружает изображение поддерживаемого формата, если изображение не удалось загрузить, операция повторяется. Далее загруженное изображение согласно алгоритму преобразования к серому, преобразовывается в оттенки серого. После этого изображение, согласно алгоритму сглаживания и введенными параметрами, сглаживают полученное изображение. Далее к сглаженному серому изображению применяется выбранный пользователем алгоритм выделения границ, которое вычисляется согласно алгоритму выделения границ. Пользователь выбирает формат сохранения изображения, согласно поддерживаемому формату, и на выходе получаем файл с обработанным изображением. Описание детализирующей SADT-диаграммы приведено в таблице 1.3
Таблица 1.3 - Описание первого уровня для процесса А0 «Выделение границ на изображении
№ |
Наименование операции |
Чем регламентируется |
Входы |
Выходы |
Исполнитель |
|
А1 |
Загрузка изображения |
Поддерживаемый формат |
Исходное изображение |
Загруженное изображение |
Пользователь, |
|
А2 |
Преобразование к серому |
Алгоритм преобразования к серому |
Загруженное изображение; |
Серое изображение |
Пользователь |
|
А3 |
Выполнение сглаживания |
Алгоритм сглаживания |
Серое изображение Параметры сглаживания; |
Сглаженное серое изображение |
Пользователь |
|
А4 |
Выделение границ на изображении |
Алгоритм поиска границ |
Сглаженное серое; Изображение Выбор алгоритма |
Обработанное изображение |
Пользователь |
|
А5 |
Сохранение изображения |
Поддерживаемый формат |
Обработанное изображение |
Файл с обработанным изображением |
Пользователь |
1.4 Техническое задание на разработку «Программного комплекса для автоматизации обработки изображения для выделения границ на изображении в оттенках серого»
Основание для разработки
Основанием для разработки является тема индивидуального задания для дипломной работы «Программный комплекс для автоматизации обработки изображений для выделения границ на изображении в оттенках серого».
Спец часть: Разработка программного обеспечения для реализации алгоритмов обработки изображения.
Назначение разработки
Программный комплекс предназначен для обработки изображений и выделения границ на изображении. Программный комплекс должен выполнять следующие функции:
– преобразовывать изображение к оттенкам серого;
– сглаживать изображения;
– выделять границы.
Требования к функциональным характеристикам
Ниже представлены требования к составу выполняемых функций:
– обеспечивать импорт изображения
– выполнять преобразование загруженного изображения в оттенки серого
– выполнять сглаживание изображения
– выделять границы на изображении согласно выбранному алгоритму
– сохранять обработанное изображение
Требования к надежности
Программный комплекс должен устойчиво функционировать и не приводить к зависанию операционной системы в аварийных ситуациях.
В случае возникновения сбоя должны выдаваться сообщения с указанием дальнейших действий. Во избежание возникновения ошибок необходимо создать руководство по эксплуатации ПК.
Условия эксплуатации
Условия эксплуатации ПП определяются СанПиН 2.2.2 545-96 «Гигиенические требования к видеодисплейным терминалам, персональным вычислительным машинам и организации работы».
Низший уровень требуемой квалификации обслуживающего персонала- оператор ЭВМ. Для настройки системы и ведения базы данных необходимо привлечение специалистов, имеющих высокий уровень квалификации в области информационных технологий.
Требования к составу и параметрам технических средств
Для нормального функционирования системы необходима персональная ЭВМ со следующими характеристиками:
– объем оперативной памяти не менее 1024 МБ;
– процессор не ниже Pentium IV, мышь, клавиатура;
– наличие свободного места на жестком диске в размере не
менее 1 Гбайт;
– Монитор.
Требования к информационной и программной совместимости
Система должна работать на платформах операционных систем Windows XP и выше.
Для обеспечения работоспособности ПК необходимо следующее программное обеспечение:.NET Framework 3.5.
Информация должна вводиться непосредственно через GUI. Результат визуализации информации должен быть представлен в хорошо воспринимаемом виде.
Требования к программной документации
Предварительный состав программной документации установлен в соответствии с ГОСТ 19.101-77. Ниже перечислен список программных документов и их содержание.
Текст программы - запись программы с необходимыми пояснениями и комментариями.
Описание программы - сведения о логической структуре и функционировании программы.
Программа и методика испытаний - требования, подлежащие проверке при испытании программы, также порядок и методы контроля.
Техническое задание - настоящий документ.
Пояснительная записка - схема алгоритма, общее описание алгоритма или функционирования программы, а также обоснование принятых технических и технико-экономических решений.
Эксплуатационные документы - описание применения, руководство пользователя.
Стадии и этапы разработки
Стадии и этапы разработки должны соответствовать ГОСТ 19.101-77
Стадии и этапы разработки приведены в таблице 1.5
Таблица 1.4 - Стадии и этапы разработки ПК для автоматизации обработки изображений и выделения границ
Этапы работ |
Описание работ |
|
Техническое задание |
Анализ и формализация требований к ПТК для реализации алгоритмов обработки изображения. |
|
Эскизный проект |
Разработка алгоритма для автоматизации обработки изображения и выделения границ. На основе определенных функциональных требований разработки модели предметной области. Диаграммы классов и прецедентов |
|
Технический проект |
Разработка логической структуры проекта (состав программных модулей). Особенности реализации. |
|
Рабочий проект |
Корректировка и доработка программного обеспечения, разработка документации. |
|
Внедрение |
Разработка мероприятий по внедрению и сопровождению ПП |
Порядок контроля и приемки
ПМК автоматизации обработки изображений должен соответствовать требованиям заказчика и отвечать всем поставленным функциональным требованиям.
Контроль программного продукта осуществляется в следующем порядке.
– проверка функциональности разработанного ПО;
– проверка реакции программы на различные действия пользователя;
– проверка выходных данных;
– после выхода из программы операционная система должна продолжать работать корректно.
Принятие созданной системы заключается в тестировании его на рабочих местах после настройки программного продукта.
1.5 Разработка логической модели ПК
Разработка диаграммы прецедентов использования
Диаграмма прецедентов - диаграмма, на которой отражены отношения, существующие между актёрами и прецедентами. Основная задача - представлять собой единое средство, дающее возможность заказчику, конечному пользователю и разработчику совместно обсуждать функциональность и поведение системы[11].
Прецедент - возможность моделируемой системы (часть её функциональности), благодаря которой пользователь может получить конкретный, измеримый и нужный ему результат. Прецедент соответствует отдельному сервису системы, определяет один из вариантов её использования и описывает типичный способ взаимодействия пользователя с системой.
Диаграммы прецедентов применяются для моделирования поведения системы с точки зрения внешнего наблюдателя.
Для обработки изображения и выделения на нем границ в оттенках серого пользователю необходимо выполнить следующее:
– Загрузить изображение - пользователь загружает необходимое изображение для обработки;
– Выбрать алгоритм поиска границ - алгоритм поиска выбирается пользователем;
– Преобразовать к серому - изображение преобразовывается к оттенкам серого;
– Сохранить обработанное изображение - по завершению поиска можно сохранить полученное изображение.
Диаграмма прецедентов программного комплекса представлена на рисунке 1.6
Рисунок 1.6 - Диаграмма прецедентов «ПК для автоматизации обработки изображений для выделения границ на изображении в оттенках серого»
Таблица 1.5 - Описание прецедента «Загрузить изображение»
Описание прецедента |
|
Основной исполнитель -Компьютер, заинтересованные лица-Пользователь |
|
Предусловия – произведен запуск программы |
|
Входные данные – исходное изображение |
|
Основной успешный сценарий (основной процесс): – пользователь выбирает изображения – компьютер загружает изображение в приложение |
|
Частота использования: – при каждой инициации процесса |
|
Постусловия: – исходное изображение загружено |
|
Выходные данные: – загруженное исходное изображение |
|
Регистрация событий и обработки ошибок: – вывод сообщения для пользователя об ошибке загрузки изображения |
Таблица 1.6 - Описание прецедента «Поиск границ»
Описание прецедента |
|
Основной исполнитель - Компьютер, заинтересованные лица-Пользователь |
|
Предусловия – исходное изображение загружено |
|
Входные данные – исходное изображение |
|
Основной успешный сценарий (основной процесс): – Пользователь выбирает алгоритм – Компьютер сглаживает изображение – Компьютер преобразовывает к серому – Компьютер выполняет поиск границ |
|
Частота использования: – при каждой инициации процесса. |
|
Постусловия: – выделены границы на изображении. |
|
Выходные данные: – обработанное изображение |
|
Регистрация событий и обработки ошибок: – вывод сообщения для пользователя, об ошибке обработки изображения |
Таблица 1.7 - Описание прецедента «Сохранить»
Описание прецедента |
|
Основной исполнитель - Компьютер, заинтересованные лица-Пользователь |
|
Предусловия – исходное изображение загружено |
|
Входные данные – обработанное изображение |
|
Основной успешный сценарий (основной процесс): – пользователь выбирает формат для сохранения – компьютер сохраняет изображение |
|
Частота использования: – при каждой инициации процесса |
|
Постусловия: – обработанное изображение сохранено |
|
Выходные данные: – файл обработанного изображения |
|
Регистрация событий и обработки ошибок: – вывод сообщения для пользователя, об ошибке сохранения изображения |
Разработка диаграммы классов предметной области «ПК для автоматизации обработки изображений для выделения границ на изображении в оттенках серого»
Диаграмма классов может отражать различные взаимосвязи между отдельными сущностями предметной области, такими как объекты и подсистемы, а также описывает их внутреннюю структуру и типы отношений. Диаграмма классов является дальнейшим развитием концептуальной модели проектируемой системы[11].
Для построения диаграммы классов воспользуемся сценарием предметной области, приведённой в пункте 1.5.1.
Описание классов предметной области представлено в таблице 1.8
Таблица 1.8 - Обязанности классов
Название класса |
Обязанности |
|
Контур детектор |
Содержит изображение загруженное для обработки |
|
Преобразователь серого |
Содержит в себе метод для преобразования загруженного изображения в оттенки серого |
|
Свертка |
Содержит в себе метод, для выполнения свертки по заданному ядру |
|
Ядра свертки |
Содержит в себе ядра свертки применяемые для различных алгоритмов |
|
Кэнни |
Содержит в себе: метод реализующий алгоритм Кэнни для выделения границ на изображении |
|
Робертс |
Содержит в себе: метод реализующий алгоритм Робертся для выделения границ на изображении |
|
Собель |
Содержит в себе: метод реализующий алгоритм Собеля (Прюитт или Шара в зависимости от ядра) для выделения границ на изображении |
Рисунок 1.7 - Диаграмма классов «ПК для автоматизации обработки изображений для выделения границ на изображении в оттенках серого»
Диаграмма последовательности для выделения границ на изображении
Диаграмма последовательности - это диаграмма, на которой показаны взаимодействия объектов, упорядоченные по времени их проявления [12].
Графически диаграмма последовательности представляет собой разновидность таблицы, которая показывает объекты, размещенные вдоль оси X, и сообщения, упорядоченные по времени вдоль оси. Обычно слева размещается объект, инициирующий взаимодействие, а справа - объекты по возрастанию подчиненности. Сообщения, посылаемые и принимаемые объектами, помещаются вдоль оси Y в порядке возрастания времени от вершины к основанию диаграммы. Диаграмма последовательности имеет две характеристики: линия жизни объекта и фокус управления
Линия жизни объекта - это вертикальная пунктирная линия, которая обозначает период существования объекта.
Фокус управления - это высокий тонкий прямоугольник, отображающий период времени, в течение которого объект выполняет действие.
Диаграмма последовательностей для прецедента «Поиск границ» разрабатываемого ПК показана на рисунке 1.14
Пользователь передает загруженное изображение в класс «Контур детектор», где происходит проверка на поддерживаемый формат и передает изображение классу «Преобразователь серого», который используя свой метод преобразовывает изображение к серому и передаёт его обратно классу «Контур детектор». После чего запрашиваются данные у класса «Ядра свертки» и передаются в класс «Контур детектор», который в свою очередь передает изображение и ядро свертки в класс «Свертка», после обработки изображение передается классу «Контур детектор».
Завершающим этапом является передача классом «Контур детектор» преобразованного изображения в класс «Робертс», где применяется метод выделения границ, и изображение передается в класс «Контур детектор». Далее система возвращает обработанное изображение пользователю.
Рисунок 1.8 - Диаграмма последовательности для выделения границ на изображении в оттенках серого
Разработка физической модели проекта. Модульная структура ПК
Программный код часто разбивается на несколько файлов, каждый из которых компилируется отдельно от остальных. Такая модульность программного кода позволяет значительно уменьшить время перекомпиляции при изменениях, вносимых лишь в небольшое количество исходных файлов, и упрощает групповую разработку. Также это возможность замены отдельных компонентов конечного программного продукта, без необходимости пересборки всего проекта.
Функциональные модули:
– Ввод данных - происходит ввод переменных, выбор алгоритма, загружается изображение из внешнего файла.
– Преобразование к серому - преобразовывает загруженное изображение в оттенки серого.
– Размытие изображения - размывает изображение в серых оттенках.
– Выделение границ - выделяет границы на сером размытом изображении, в соответсвии с выбранным алгоритмом.
– Просмотр обработанного изображения - полученное изображение выводится на форму.
Системные модули:
– Управляющий модуль - отвечает за вызов и выполнение функциональных модулей.
– Графический интерфейс - обеспечивает возможность управления поведением вычислительной системы через визуальные элементы управления - окна, списки, кнопки,
– Чтение из файла - считывает изображение из внешнего файла и передает в функциональный модуль «Ввод данных».
– Запись в файл - записывает изображение, хранящуюся в функциональном модуле «Просмотр обработанного изображения» во внешний файл.
Виды обеспечения функционирования программного продукта
В настоящее время существует огромное количество программных продуктов, позволяющих в сжатые сроки эффективно и качественно разработать программный комплекс для различных предметных областей.
Рассмотрим наиболее популярные языки программирования и сделаем их сравнительную характеристику:
Lazarus - свободная среда разработки программного обеспечения для компилятора Free Pascal. Интегрированная среда разработки предоставляет возможность кроссплатформенной разработки приложений в Delphi-подобном окружении. Основан на библиотеке визуальных компонентов Lazarus Component Library (LCL). В разработке находятся виджеты Qt и WinCE.
C# - язык программирования, сочетающий объектно-ориентированные и контекстно-ориентированные концепции. Разработан как основной язык разработки приложений для платформы Microsoft.NET. C# относится к семье языков с C-подобным синтаксисом, из них его синтаксис наиболее близок к C++ и Java. Язык имеет строгую статическую типизацию, поддерживает полиморфизм, перегрузку операторов, указатели на функции-члены классов, атрибуты, события, свойства, исключения, комментарии в формате XML. Поддерживает множественное наследование классов.
Visual Basic.NET - объектно-ориентированный язык программирования, который следует рассматривать как развитие Microsoft Visual Basic на платформе.NET. Microsoft включила в VB.NET ряд новых возможностей, в числе которых полная поддержка объектно-ориентированного программирования и расширенные средства разработки web-приложений. Но прежде всего, для освоения обновленного инструмента требуются немалые усилия.
Сравнение программных продуктов (по десятибалльной шкале) приведено в таблице 1.9.
Таблица 1.9 - Сравнение программных продуктов
Наименование критерия |
Visual C# |
Visual Basic.NET |
Lazarus |
Kj |
|
Удобство пользовательского интерфейса |
9 |
7 |
9 |
0,10 |
|
Простота языка программирования |
10 |
6 |
7 |
0,10 |
|
Наличие интегрированного отладчика |
9 |
7 |
7 |
0,20 |
|
Скорость выполнения программ |
9 |
6 |
10 |
0,15 |
|
Наименование критерия |
Visual C# |
Visual Basic.NET |
Lazarus |
Kj |
|
Поддержка объектно-ориентированных средств |
10 |
5 |
10 |
0,20 |
|
Возможности программных средств для разработки профессиональных приложений и сложных программных систем |
10 |
7 |
7 |
0,10 |
|
Наличие документации, справочных систем, возможности консультации |
9 |
8 |
6 |
0,15 |
Экспертная оценка определяется по формуле(1.10):
(1.10)
где Qi - общая оценка программного продукта;
Kj - весовой коэффициент критерия;
aij - оценка i-того программного средства по j-тому критерию.
Рассчитаем общие оценки программных средств:
VisualC#:
Q=9*0,10+10*0,10+9*0,20+9*0,15+10*0,20+10*0,10+9*0,15=9,4.
Visual Basic.NET:
Q=7*0,10+6*0,10+7*0,20+6*0,15+5*0,20+7*0,10+8*0,15=6,5.
Lazarus:
Q=9*0,10+7*0,10+7*0,20+10*0,15+10*0,20+7*0,10+6*0,15=8,1.
Как показал расчет, наиболее целесообразно выбирать в качестве языка программирования VisualC#.
2. Специальная часть. Разработка программного обеспечения для алгоритмов обработки изображений
2.1 Структура и функциональное назначение модулей
Разрабатываемый программный продукт «Сontour Detector» предназначен для автоматизации обработки изображений для выделения границ на изображении в оттенках серого.
В программном продукте «Сontour Detector» реализованы следующие модули:
– «СontourDetecor» - модуль формы, который обслуживает главное окно приложения. В нем организованы вызов других модули приложения.
– «About» - модуль формы, в которой содержится информация о разработчике и разрабатываемом продукте;
– «PredefinedKernels» - модуль приложения содержащий ядра для свертки;
– «Convolution» - модуль приложения осуществляющий свертку по выбраному ядру;
– «Roberts» - модуль для обработки изображения и выделения границ при помощи перекртстного оператора Робертса(стр);
– «SobelPrewitShara» - модуль для обработки изображения и выделения границ с помощью оператора Собеля, Прюитт или Щара (стр);
– «Canny» - модуль для обработки изображения и выделения границ с помощью оператора Кени.
Функции каждого модуля представлены в таблице 2.1.
Таблица 2.1 - Функции модулей программы «Contour Detector»
Название модуля |
Функции |
|
СontourDetecor |
- загрузка изображения; - сохранение изображения; - выбор алгоритмов обработки изображения; -преобразование изображения к оттенкам серого; |
|
-размытие изображени; - передача загруженного изображения другим модулям. |
||
About |
-предоставление пользователю информации о назначении; - данного программного комплекса. |
|
PredefinedKernels. |
- содержит ядра свертки; -передает данные модулю СontourDetecor. |
|
Convolution |
- осуществляет свертку изображения; - передает данные модулю СontourDetecor. |
|
Roberts |
- обработка изображения при помощи перекрестного оператора Робертса; - передача обработанного изображения модулю СontourDetecor. |
|
SobelPrewitShara |
- обработка изображения при помощи операторов Собеля,Прюита или Шара; - передача обработанного изображения модулю СontourDetecor. |
|
Canny |
- обработка изображения при помощи оператор Кени; - передача обработанного изображения модулю СontourDetecor. |
2.2 Результаты углубленной разработки отдельных модулей
Принимая во внимание функциональную часть программного продукта «Сontour Detecor», рассмотрим фрагменты кода, отражающие:
– загрузка изображения;
– преобразование изображения к оттенкам серого;
– размытие изображения;
– обработка изображения при помощи перекрестного оператора Робертса.
На рисунке 2.1 приведен фрагмент кода, иллюстрирующий процесс загрузки изображения. Используется стандартный компонент OpenDialog в случае ошибки открытия изображения выводится сообщение об ошибке.
private void openFile()
OpenFileDialog dOpen = new OpenFileDialog();
dOpen.Filter = "Bitmap files (*.bmp)|*.bmp|PNG files (*.png)|*.png|TIFF files (*.tif)|*tif|JPEG files (*.jpg)|*.jpg |All files (*.*)|*.*";
dOpen.FilterIndex = 5;
dOpen.RestoreDirectory = true;
if (dOpen.ShowDialog() == DialogResult.OK)
{
try
{
pictureBox1.Image = Bitmap.FromFile(dOpen.FileName);
pBar.Value = 0;
catch
{
MessageBox.Show("Невозможно открыть изображение", "FATAL ERROR",MessageBoxButtons.OK, MessageBoxIcon.Error);
}
Рисунок 2.1 - Фрагмент кода для загрузки изображения
На рисунке 2.2 приведен фрагмент кода, иллюстрирующий преобразование изображения к оттенкам серого
private void grayConvert()
{
if (pictureBox1.Image == null) return;
Bitmap grayImg = new Bitmap(pictureBox1.Image.Width,
pictureBox1.Image.Height);
Graphics g = Graphics.FromImage(grayImg);
ColorMatrix colorMatrix = new ColorMatrix(
new float[][]
Рисунок 2.2 - Фрагмент кода для преобразования изображения к серому
{ new float[] {.3f.3f.3f, 0, 0},
new float[] {.59f.59f.59f, 0, 0},
new float[] {.11f.11f.11f, 0, 0},
new float[] {0, 0, 0, 1, 0},
new float[] {0, 0, 0, 0, 1}
}
);
ImageAttributes attributes = new ImageAttributes();
attributes.SetColorMatrix(colorMatrix);
g.DrawImage(pictureBox1.Image,
new Rectangle(0, 0, pictureBox1.Image.Width, pictureBox1.Image.Height), 0, 0,
pictureBox1.Image.Width, pictureBox1.Image.Height,
GraphicsUnit.Pixel, attributes);
g.Dispose();
pictureBox2.Image = grayImg;
pBar.Value = 10;
}.
Рисунок 2.2, Лист 2
На рисунке 2.3 приведен фрагмент кода,иллюстрирующий вызов функции размытия изображения. В этом фрагменте переменной kernel присваивается ядро свертки взятое из класс PredefinedKernels,и вызывается метод Apply класса Convolation.
private void blur()
{
if (pictureBox2.Image == null) return;
if (Convert.ToInt16(textBox2.Text) > 50)
{ MessageBox.Show("Слишком большое размытие"); return; };
double[,] kernel = new double[0, 0];
kernel = DSP.PredefinedKernels.BoxBlur;
for (int i=1; i<(Convert.ToInt16(textBox2.Text)); i++)
{
pictureBox2.Image = DSP.Convolution.Apply((Bitmap)pictureBox2.Image, kernel);
pBar.Value = 30;
}
}
Рисунок 2.3 - Фрагмент кода вызова функции размытия
На рисунке 2.4 приведен фрагмент кода, иллюстрирующий обработку изображения при помощи перекрестного оператора Робертса. Для применения оператора Робертса изображение обрабатывается в цикле и значение каждого пикселя считается по формуле х=|A-D|+|B-C|
class Roberts
{
public static Bitmap Apply(Bitmap input)
{
Bitmap contourImg = new Bitmap(input);
Bitmap b = new Bitmap(input);
for (int i = 1; i < input.Height - 1; i++)
for (int j = 1; j < input.Width - 1; j++)
{ float new_x = 0, new_y = 0;
int currA = b.GetPixel(j, i).B;
int currB = b.GetPixel(j, i + 1).B;
int currC = b.GetPixel(j + 1, i).B;
int currD = b.GetPixel(j + 1, i + 1).B;
new_x = Math.Abs(currA - currD) +
Math.Abs(currB - currC);
if (new_x * new_x > 128)
contourImg.SetPixel(j, i, Color.White);
else
contourImg.SetPixel(j, i, Color.Black);
}
return (contourImg); } }
Рисунок 2.4 - Фрагмент кода обработки изображения оператором Робертса
2.2 Элементы интерфейса ПК «Contour Detector»
При запуске программы «Contour Detector» открывается окно, приведенное на рисунке. На главном окне программы расположено меню 1, которые состоит из пунктов «Файл», «Настройки», «Преобразования», «Выделение контура» и «Справка», так же на главном окне расположены две вкладки 2,3 переходя по которым пользователь попадает либо в окно «Исходное/обработанное изображение», либо в окно «Серое/размытое изображение». На вкладке «Исходное/обработанное изображение» располагаются поле для вывода изображений исходного и обработанного 4.
Рисунок 2.5 - главное окно Contour Detector
При нажатии на вкладку «Серое/размытое изображение» ему открывается эта вкладка (рисунок 2.6). На ней размещено поле для вывода результатов промежуточной обработки изображения 1.
Рисунок 2.6 - главное окно Contour Detector
При нажатии на пункт меню «Настройки» внизу формы отображаются настройки (рисунок 2.7), содержащие кнопки для выполнения алгоритмов 1, полей для задания параметров обработки 2 и выпадающий список для выбора матрицы для алгоритма Лапласа 3.
Рисунок 2.7 - Главное окно с панелью настроек
2.4 Инструкция по установке ПК «Contour Detector»
Для того чтобы установить программный продукт, необходимо двойным нажатием левой кнопки мыши запустить приложение ContourDetector.exe. Открывается мастер установки(рисунок 2.8). Для завершения установки нажимаем кнопку «Отмена», для продолжения нажимаем кнопку «Далее».
Рисунок 2.8 - Приветственное окно мастера установки
После нажатия на кнопку «Далее» открывается окно выбора директории, для установки приложения (рисунок 2.9). Для выбора директории нажмите кнопкой «Обзор…», затем нажмите «Далее», чтобы продолжить установку или «Отмена», чтобы прервать ее. Нажмите «Назад», если хотите вернуться к предыдущему окну.
Рисунок 2.9 - Окно выбора папки установки
После выбора директории, в открывшемся окне (рисунок 2.10), для создания ярлыка, установите или снимите флажок с переключателя «Создать ярлык на рабочем столе», нажмите «Далее», чтобы продолжить или «Отмена», чтобы прервать установку.
Рисунок 2.10 - Окно создания ярлыка
После нажатия на кнопку «Далее», отображается окно с выбранными параметрами установки приложения(рисунок 2.11). Для изменения параметров установки нажимаем кнопку «Назад», для прекращения установки - кнопку «Отмена». Для установки программы нажимаем кнопку «Установить».
Рисунок 2.11 - Окно параметров установки
После выполнения установки программы появляется окно завершения установки (рисунок 2.12)
Рисунок 2.12 - Окно завершения установки
2.5 Инструкция пользователя ПК «Contour Detector»
Для начала работы с программой необходимо запустить файл СontourDetector.exe, либо ярлык ContourDetector.lnk.
1 После запуска этого файла откроется главное окно программы (рисунок 2.13). В нем размещены две вкладки: «Исходное/обработанное изображение», «Серое/размытое изображение». При запуске открывается первая вкладка «Исходное/обработанное изображение». По умолчанию в исходном изображении загружено демонстрационное изображение. Что бы осуществить быстрое выделение границ с используемыми параметрами по умолчанию, необходимо выполнить двойной щелчок мыши по области обработанного изображения.
Рисунок 2.13 - Главное окно программы
2 Что бы добавить изображение, необходимо выбрать в меню «Файл» пункт «Открыть», либо осуществить двойной щелчок кнопкой мыши по исходному изображению. В результате откроется диалоговое окно «Открыть» (рисунок 2.14) в котором нужно указать изображение для открытия.
Рисунок 2.14 - Диалоговое окно «Открыть»
3 При нажатии на кнопку меню «Настройки» внизу главного окна программы отображается панель настроек (рисунок 2.15). Для выделения границ необходимо преобразовать изображение к серому и размыть.
4 Для того что бы преобразовать изображение в оттенки серого, пользователю требуется нажать кнопку «В серый», либо в меню «Преобразования» выбрать пункт «Преобразовать в серый».
5 Для размытия изображения пользователем задаётся в количество проходов размытия(по умолчанию 1). Для выполнения размытия пользователю требуется нажать кнопку «Размыть», либо в меню «Преобразования» выбрать пункт «Размыть».
Подобные документы
Обзор существующего программного обеспечения для автоматизации выделения границ на изображении. Разработка математической модели обработки изображений и выделения контуров в оттенках серого и программного обеспечения для алгоритмов обработки изображений.
дипломная работа [1,7 M], добавлен 27.03.2013Методы обработки изображений. Представление изображения в форматах RGB и HSB. Экономическая эффективность разработки и внедрения программного обеспечения подсистем обработки и выделения текстильных волокон. Защита оператора ЭВМ от вредных факторов.
дипломная работа [287,2 K], добавлен 19.06.2010Методы концептуального, логического и физического проектирования баз данных для автоматизации работы объекта. Обследование предметной области; тестирование и реализация информационного и программного обеспечения. Подготовка конструкторской документации.
курсовая работа [4,0 M], добавлен 16.05.2012Разработка программного обеспечения, предназначенного для автоматизации деятельности туристической фирмы. Анализ и проектирование базы данных предметной области. Создание концептуальной, логической и физической моделей данных и программы их обработки.
курсовая работа [816,5 K], добавлен 05.02.2018Расчет издержек предприятия на разработку программного продукта и экономической эффективности от его внедрения. Топология физических связей и структуризация сети. Характеристика программного обеспечения. Средства автоматизации, описание алгоритма задачи.
дипломная работа [867,6 K], добавлен 05.11.2015Создание учебной информационной системы, реализующей бизнес-процессы предметной области: оборот денежных средств на предприятии по торговле металлопрокатом, участвующих в предоплатах и оплатах приложений к счетам. Разработка программного обеспечения.
курсовая работа [25,7 K], добавлен 27.06.2012Разработка стратегии и выбор способа автоматизации задачи снабжения для предприятия. Построение функциональной модели бизнес-процессов предметной области. Создание программного средства "1С: Конфигурация ОМТС" для оптимального решения задач снабжения.
дипломная работа [7,2 M], добавлен 12.04.2012Выбор методов обработки и сегментации изображений. Математические основы примененных фильтров. Гистограмма яркости изображения. Программная реализация комплексного метода обработки изображений. Тестирование разработанного программного обеспечения.
курсовая работа [1,3 M], добавлен 18.01.2017Проектирование логической схемы данных для предметной области, физической модели базы данных. Разработка алгоритмов функциональных модулей программного приложения. Принципы тестирования спроектированного программного обеспечения, анализ эффективности.
курсовая работа [926,7 K], добавлен 20.05.2015Описание математических методов представления и обработки графических изображений. Описание разработанного программного дополнения. Описание функций и их атрибутов. Представление и обработка графических изображений. Результаты тестирования программы.
курсовая работа [1,7 M], добавлен 27.01.2015