Программный комплекс автоматизации обработки изображений - Дипломная работа

бесплатно 0
4.5 108
Обзор существующего программного обеспечения для автоматизации выделения границ на изображении. Разработка математической модели обработки изображений и выделения контуров в оттенках серого и программного обеспечения для алгоритмов обработки изображений.


Аннотация к работе
Поставлены следующие задачи работы: - изучить математические методы, программы и алгоритмы, которые используются при автоматизации обработки изображений для выделения границ на изображении в оттенках серого; В качестве источников изображений в современном мире выступают: Изображение с цифрового фотоаппарата, негативные фотопленки и слайды после оцифровки с помощью сканера Фотобанки Серверы файлообмена и поисковые системы. Таким образом, применение фильтра выделения границ к изображению может существенно уменьшить количество обрабатываемых данных, изза того, что отфильтрованная часть изображения считается менее значимой, а наиболее важные структурные свойства изображения сохраняются. А4 Выделение границ на изображении Алгоритм поиска границ Сглаженное серое; Изображение Выбор алгоритма Обработанное изображение Пользователь После чего запрашиваются данные у класса «Ядра свертки» и передаются в класс «Контур детектор», который в свою очередь передает изображение и ядро свертки в класс «Свертка», после обработки изображение передается классу «Контур детектор».1 Были изучен алгоритмы и методы выделения границ на изображении в оттенках серого. 2 На основании имеющихся методов выделения границ на изображении разработана математическая модель обработки изображений и выделения на них границ.

Введение
Еще в середине XX века обработка изображений была по большей части аналоговой и выполнялась оптическими устройствами. Подобные оптические методы до сих пор важны, в таких областях как, например, голография. Тем не менее, с резким ростом производительности компьютеров, эти методы все в большей мере вытеснялись методами цифровой обработки изображений. Методы цифровой обработки изображений обычно являются более точными, надежными, гибкими и простыми в реализации, нежели аналоговые методы. В цифровой обработке изображений широко применяется специализированное оборудование, такое как процессоры с конвейерной обработкой инструкций и многопроцессорные системы. В особенной мере это касается систем обработки видео. Обработка изображений выполняется также с помощью программных средств компьютерной математики, например, MATLAB, Mathcad, Maple, Mathematica и др. Для этого в них используются как базовые средства, так и пакеты расширения Image Processing.

Область компьютерного зрения может быть охарактеризована как молодая, разнообразная и динамично развивающаяся. И, хотя существуют более ранние работы, можно сказать, что только с конца 1970-х началось интенсивное изучение этой проблемы, когда компьютеры смогли управлять обработкой больших наборов данных, таких как изображения. Однако, эти исследования обычно начинались с других областей, и, следовательно, нет стандартной формулировки проблемы компьютерного зрения. Также, и это даже более важно, нет стандартной формулировки того, как должна решаться проблема компьютерного зрения. Вместо этого, существует масса методов для решения различных строго определенных задач компьютерного зрения, где методы часто зависят от задач и редко могут быть обобщены для широкого круга применения. Многие из методов и приложений все еще находятся в стадии фундаментальных исследований, а следовательно актуально практическое приложение настоящего дипломного проекта.

В связи с этим целью данной работы есть создание программного комплекса для автоматизации обработки изображений для выделения границ на изображении в оттенках серого.

Поставлены следующие задачи работы: - изучить математические методы, программы и алгоритмы, которые используются при автоматизации обработки изображений для выделения границ на изображении в оттенках серого;

- разработать математическую модель для описания процесса обработки изображений;

- разработать алгоритм обработки входных и выходных данных;

- разработать программный комплекс для выделения границ на изображении в оттенках серого.

Решение данных задач позволит улучшить область компьютерного зрения и распознавания образов.

1. Общая часть

1.1 Анализ предметной области автоматизации обработки изображений для выделения границ на изображении в оттенках серого

1.1.1 Обработка изображения, основные понятия и определения

Любая форма обработки информации, для которой входные данные представлены изображением, например, фотографиями или видеокадрами называется обработкой изображений. Обработка изображений может осуществляться как для получения изображения на выходе (например, подготовка к полиграфическому тиражированию, к телетрансляции и т.д.), так и для получения другой информации (например, распознание текста, подсчет числа и типа клеток в поле микроскопа и т.д.) [1].

Свет, излучаемый или отражаемый объектами и проецируемый на участок сетчатки нашего глаза, имеет сложное спектральное распределение. Сетчатка глаза состоит из рецепторов трех видов, чувствительных к разным областям видимого света. Поэтому набора из трех чисел достаточно, чтобы описать цвет. Плоское изображение - это функции зависимости цвета от координат, причем координаты принимают дискретные значения. Известны два основных подхода к формированию и хранению изображений: растровая графика и векторная графика, также существуют их комбинации.

Сегодня редактирование изображений проводится в основном на компьютере растровыми редакторами в цифровом виде. Современные редакторы не лишены недостатков, однако грамотное их использование позволяет решить большинство задач, возникающих при редактировании изображений.

В качестве источников изображений в современном мире выступают: Изображение с цифрового фотоаппарата, негативные фотопленки и слайды после оцифровки с помощью сканера Фотобанки Серверы файлообмена и поисковые системы. На этих ресурсах нередко можно встретить изображения без ограничений на использование.

Основные термины, используемые для выделения границ на изображении, приведены в глоссарии, который представлен в таблице 1.1

Таблица 1.1 - Глоссарий предметной области

№ Термин Определение

1 Обработка изображений Любая форма обработки информации, для которой входные данные представлены изображением, например, фотографиями или видеокадрами.

2 Выделение границ Термин в теории обработки изображения и компьютерного зрения, частично из области поиска объектов и выделения объектов, основывается на алгоритмах, которые выделяют точки цифрового изображения, в которых резко изменяется яркость или есть другие виды неоднородностей.

3 Градиент Вектор, своим направлением указывающий направление наискорейшего возрастания некоторой величины, значение которой меняется от одной точки пространства к другой, а по величине равный быстроте роста этой величины в этом направлении.

4 Точка Простейший графический примитив, имеющий нулевую размерность. Точка характеризуется только координатами своего местоположения.

5 Сглаживание Технология, использующаяся в обработке изображений с целью сделать границы кривых линий визуально более гладкими, убирая «зубцы», возникающие при растеризации на краях объектов

6 Вектор Упорядоченная пара точек, одна из которых называется началом, вторая - концом вектора.

7 Пиксель Наименьший логический элемент двумерного цифрового изображения в растровой графике.

8 Растровое изображение Представляет собой сетку пикселей или цветных точек на компьютерном мониторе, бумаге и других отображающих устройствах и материалах.

9 Графический формат Способ записи графической информации

Растровая графика

Растровая графика описывает изображения с использованием цветных точек, называемых пикселями, расположенных на сетке[2]. При редактировании растровой графики редактируются пиксели. Растровая графика зависит от разрешения, поскольку информация, описывающая изображение, прикреплена к сетке определенного размера. При редактировании растровой графики, качество ее представления может измениться. В частности, изменение размеров растровой графики может привести к размытию краев изображения, поскольку пиксели будут перераспределяться на сетке. Вывод растровой графики на устройства с более низким разрешением, чем разрешение самого изображения, понизит его качество.

Основой растрового представления графики является пиксель (точка) с указанием ее цвета. При описании, например, красного эллипса на белом фоне приходится указывать цвет каждой точки как эллипса, так и фона. Изображение представляется в виде большого количества точек - чем их больше, тем визуально качественнее изображение и больше размер файла. Т.е. одна и даже картинка может быть представлена с лучшим или худшим качеством в соответствии с количеством точек на единицу длины - разрешением (обычно, точек на дюйм - dpi или пикселей на дюйм - ppi).

Кроме того, качество характеризуется еще и количеством цветов и оттенков, которые может принимать каждая точка изображения. Чем большим количеством оттенков характеризуется изображения, тем большее количество разрядов требуется для их описания. Красный может быть цветом номер 001, а может и - 00000001. Таким образом, чем качественнее изображение, тем больше размер файла.

Растровое представление обычно используют для изображений фотографического типа с большим количеством деталей или оттенков. К сожалению, масштабирование таких картинок в любую сторону обычно ухудшает качество. При уменьшении количества точек теряются мелкие детали и деформируются надписи (правда, это может быть не так заметно при уменьшении визуальных размеров самой картинки - т.е. сохранении разрешения). Добавление пикселей приводит к ухудшению резкости и яркости изображения, т.к. новым точкам приходится давать оттенки, средние между двумя и более граничащими цветами. Распространены форматы.tif.gif.jpg.png.bmp

Выделение границ

Одной из основных и важнейших целей цифровой обработки изображений является распознавание присутствующих на них объектов. Возможность различать объекты заложена в высокой информативности изображения. В значительной мере именно это и привлекает разработчиков различных информационных систем к использованию изображений как способу представления результатов наблюдения[3].

Вместе с тем предъявляемые к обработке изображения содержат много избыточных мало информативных сведений, которые занимают, однако, большие объемы памяти, и требующих выполнения большого количества вычислений при попытке использовать их для распознавания. В теории распознавания образов существуют методы, позволяющие выяснять степень информативности тех или иных признаков. Однако в настоящее время эти методы не нашли широкого применения в распознавании изображений.

Значительно шире применяются методы сокращения избыточности, опирающиеся на специфические особенности зрительного восприятия изображений. Считается, что субъективное восприятие наблюдаемой сцены происходит через ее представление в виде отдельных однородных областей (т.е. сегментацию) и выделение контурных линий. Контурные, или граничные, линии разделяют на изображении участки с различными свойствами, поэтому выделение контуров иногда рассматривается как предварительная обработка, направленная на последующее выполнение сегментации. Вместе с тем, препарат, образующийся в некоторых случаях, может и самостоятельно эффективно использоваться для распознавания, поскольку содержащаяся в нем информация, по крайней мере, с точки зрения зрительного восприятия, вполне достаточна для решения многих задач такого типа.

Основной целью обнаружения резких изменений яркости изображения является фиксация важных событий и изменений мира. Они могут отражать различные предположения о модели формирования изображения, изменения в яркости изображения могут указывать на: - изменения глубины;

- изменения ориентации поверхностей;

- изменения в свойствах материала;

- различие в освещении сцены.

В идеальном случае, результатом выделения границ является набор связанных кривых, обозначающих границы объектов, граней и оттисков на поверхности, а также кривые которые отображают изменения положения поверхностей. Таким образом, применение фильтра выделения границ к изображению может существенно уменьшить количество обрабатываемых данных, изза того, что отфильтрованная часть изображения считается менее значимой, а наиболее важные структурные свойства изображения сохраняются. Однако не всегда возможно выделить границы в картинах реального мира средней сложности. Границы, выделенные из таких изображений, часто имеют такие недостатки как фрагментированость, отсутствие границ или наличие ложных, не соответствующих исследуемому объекту, границ [4].

Границы выделенные на двумерном изображении трехмерной сцены могут быть подразделены на зависимые или не зависимые от точки обзора. Независимые от точки обзора границы обычно отражают свойства, унаследованные у объектов трехмерной сцены, такие как расцветка поверхности и ее форма. Зависимые от точки обзора границы могут меняться с изменением точки обзора и отражают геометрию сцены, как, например, перекрывающиеся объекты.

Обычной границей может быть, например, граница между блоками красного и желтого цвета. С другой стороны линия может быть набором пикселей отличающегося цвета на постоянном фоне. Поэтому у линии может быть по границе с каждой стороны от нее.

Актуальность выделения контуров обуславливается тем, что это начальный этап распознавания образов. В свою очередь, задача распознавания образов решается в таких сферах, как системы технического зрения, применимые для распознавания текста, определения дефектов производимых изделий, узнавания лиц, обнаружения ДТП, управления автомобилем и др.

1.1.2 Обзор существующего программного обеспечения для автоматизации выделения границ на изображении

В настоящее время существует множество графических редакторов для обработки изображений от многофункциональных редакторов до узкоспециализированых. Нижу рассмотрим некоторые современные редакторы.

Adobe Photoshop (AP) - многофункциональный графический редактор, разработанный и распространяемый фирмой Adobe Systems. В основном работает с растровыми изображениями, однако имеет некоторые векторные инструменты. На рисунке 1.1 показан интерфейс приложения.

Поддерживается обработка изображений, с глубиной цвета 8 бит 16 бит, и 32 бит Поддерживается обработка изображений, с глубиной цвета 8 бит, 16 бит и 32 бит (используются числа одинарной точности с плавающей запятой). Возможно сохранение в файле дополнительных элементов, как то: направляющих, каналов, путей обтравки слоев, содержащих векторные и текстовые объекты. Файл может включать цветовые профили (ICC), функции преобразования цвета (transfer functions). Допускаются неквадратные пиксели.

Достоинства: - Photoshop предоставляет пользователю большое количество функций для обработки изображений;

- возможность работы с различными графическими форматами;

- поддерживает работу со слоями.

Недостатки: - высокая стоимость;

- сложность в освоении.

GIMP (GNU Image Manipulation Program) - растровый графический редактор, программа для создания и обработки растровой графики и частичной поддержкой работы с векторной графикой.

Типичные задачи, которые можно решать при помощи GIMP, включают в себя создание графики и логотипов, масштабирование и кадрирование фотографий, раскраска, комбинирование изображений с использованием слоев, ретуширование и преобразования изображений в различные форматы.

Достоинства: - имеет достаточный функциональный набор для обработки изображений;

- бесплатен;

- открытый исходный код;

- имеет возможность свертки с заданной матрицей.

Недостатки: - не используются стандартные панели управления Windows;

- Интерфейс, весь редактор состоит лишь из окон инструментов.

Paint.NET - бесплатный растровый графический редактор рисунков и фотографий для Windows, разработанный на платформе.NET Framework. Поддерживается работа со слоями, есть возможность создания разнообразных эффектов, отлично работает откат. Позволяет использовать различные загружаемые модули. Программа имеет русский интерфейс.

Достоинства: - программа бесплатна для распространения и использования;

- имеет много загружаемых модулей;

- небольшой вес.

Недостатки: - требуется время для освоения интерфейса программного продукта;

- выделение контура идет отдельным загружаемым модулем.

1.2 Разработка математической модели обработки изображений и выделения контуров в оттенках серого

1.2.1 Операторы Собеля, Шарра, Прюитта

Для выделения границ на изображении в оттенках серого применяется множество алгоритмов. Одним из таких алгоритмов является оператор Собеля.

Оператор Собеля представляет собой неточное приближение градиента изображения, но подходит для практического применения во многих задачах[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.2.2 Перекрестный оператор Робертса

Перекрестный оператор Робертса - один из алгоритмов выделения границ, который вычисляет сумму квадратов разниц между диагонально смежными пикселами (1.5). Это может быть выполнено сверткой изображения с двумя ядрами[6]:

(1.5)

Преобразование каждого пиксела перекрестным оператором Робертса может показать производную изображения вдоль ненулевой диагонали, и комбинация этих преобразованных изображений может также рассматриваться как градиент от двух верхних пикселов к двум нижним. Оператор Робертса все еще используется ради быстроты вычислений, но он проигрывает в сравнении с альтернативами с его значительной проблемой чувствительности к шуму. Он дает линии тоньше, чем другие методы выделения границ.

В результате использования операции дискретного двумерного дифференцирования получается новое значение, которое записывается в новое фото.

1.2.3 Оператор Кэнни

Оператор Кэнни использует многоступенчатый алгоритм для обнаружения широкого спектра границ в изображениях[7].

Алгоритм детектора границ не ограничивается вычислением градиента сглаженного изображения. В контуре границы оставляются только точки максимума градиента изображения, а не максимальные точки, лежащие рядом с границей, удаляются. Здесь также используется информация о направлении границы для того, чтобы удалять точки именно рядом с границей и не разрывать саму границу вблизи локальных максимумов градиента. Затем с помощью двух порогов удаляются слабые границы. Фрагмент границы при этом обрабатывается как целое. Если значение градиента где-нибудь на прослеживаемом фрагменте превысит верхний порог, то этот фрагмент остается также «допустимой» границей и в тех местах, где значение градиента падает ниже этого порога, до тех пор пока она не станет ниже нижнего порога. Если же на всем фрагменте нет ни одной точки со значением большим верхнего порога, то он удаляется. Такой гистерезис позволяет уменьшить число разрывов в выходных границах. Включение в алгоритм Кэнни шумоподавления с одной стороны повышает устойчивость результатов, а с другой - увеличивает вычислительные затраты и приводит к искажению и даже потере подробностей границ. В алгоритме применяется размытие изображения для удаления шума. Оператор Кэнни использует фильтр (1.6) который может быть хорошо приближен к первой производной гауссианы. = 1.4:

(1.6)

Границы отмечаются там, где градиент изображения приобретает максимальное значение (1.7). Они могут иметь различное направление, поэтому алгоритм Кэнни использует четыре фильтра для обнаружения горизонтальных, вертикальных и диагональных ребер в размытом изображении.

(1.7)

(1.8)

Угол направления вектора градиента округляется и может принимать такие значения: 0, 45, 90, 135.

Перед применением детектора, обычно преобразуют изображение в оттенки серого.

1.2.4 Метод Лапласа

Метод Лапласа[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.2.5 Свертка изображения

Фильтры, которые были перечислены, а так же множество других основаны на свертке. Свертка - это операция, показывающая «схожесть» одной функции с отраженной и сдвинутой копией другой. Понятие свертки обобщается для функций, определенных на группах, а также мер[9].

Свертка - это операция вычисления нового значения выбранного пикселя, учитывающая значения окружающих его пикселей. Для вычисления значения используется матрица, называемая ядром свертки. Обычно ядро свертки является квадратной матрицей n*n, где n - нечетное. Во время вычисления нового значения выбранного пикселя ядро свертки «прикладывается» своим центром к данному пикселю. Окружающие пиксели так же накрываются ядром. Далее высчитывается сумма, где слагаемыми являются произведения значений пикселей на значения ячейки ядра, накрывшей данный пиксель. Сумма делится на сумму всех элементов ядра свертки. Полученное значение и является новым значением выбранного пикселя. Если применить свертку к каждому пикселю изображения, то в результате получится некий эффект, зависящий от выбранного ядра свертки.

1.3 Разработка структурно-функциональной модели автоматизации обработки изображений и выделения на них границ в оттенках серого на основе SADT-технологии

Бизнес-логика - совокупность правил, принципов, зависимостей поведения объектов предметной области, реализация правил и ограничений автоматизируемых операций. Реализация предметной области в информационной системе. [10]

Для описания бизнес логики используем методологию структурного анализа и проектирования SADT.

SADT - методология структурного анализа и проектирования, интегрирующая процесс моделирования, управление конфигурацией проекта, использование дополнительных языковых средств и руководство проектом со своим графическим языком[11].

Диаграмма SADT состоит из: - Прямоугольников (функции системы). Здесь существует доминирование, которое видно по расположению блоков. Каждый блок имеет номер в соответствии с доминирование. Доминирование происходит по времени или по управленческой функции.

- Дуг - изображают взаимосвязь между объектами.

Главной активностью предметной области есть «Выделение границ на изображении». На вход подается исходное изображение, выбор алгоритма и параметры сглаживания.

Исполнителями активности выступают: пользователь системы. Все действия исполнителя должны быть регламентированы алгоритмами сглаживания, алгоритмом преобразования к серому, поддерживаемыми форматами и алгоритмом выделения границ. На выходе получаем готовое обработанное изображение с выделенными границами. В таблице 1.2 приведено описание контекстной структурно-функциональной диаграммы нулевого уровня основного бизнес-процесса.

Таблица 1.2 - Описание контекстной структурно-функциональной диаграммы нулевого уровня для процесса А0 «Выделение границ на изображении»

№ Входные данные Управление Исполнитель Выходные данные

A0 Исходное изображение. Параметры сглаживания. Выбор алгоритма. Поддерживаемый формат. Алгоритм сглаживания. Алгоритм преобразования к серому. Алгоритм поиска границ. Пользователь Файл с обработанным изображением

При детализации подсистемы или процесса детализирующая диаграмма в качестве внешних источников / приемников данных может иметь только те компоненты (подсистемы, процессы, внешние сущности, накопители данных), с которыми имеет информационную связь детализируемая подсистема или процесс на родительской диаграмме

Сначала пользователь загружает изображение поддерживаемого формата, если изображение не удалось загрузить, операция повторяется. Далее загруженное изображение согласно алгоритму преобразования к серому, преобразовывается в оттенки серого. После этого изображение, согласно алгоритму сглаживания и введенными параметрами, сглаживают полученное изображение. Далее к сглаженному серому изображению применяется выбранный пользователем алгоритм выделения границ, которое вычисляется согласно алгоритму выделения границ. Пользователь выбирает формат сохранения изображения, согласно поддерживаемому формату, и на выходе получаем файл с обработанным изображением.

Таблица 1.3 - Описание первого уровня для процесса А0 «Выделение границ на изображении

№ Наименование операции Чем регламентируется Входы Выходы Исполнитель

А1 Загрузка изображения Поддерживаемый формат Исходное изображение Загруженное изображение Пользователь, А2 Преобразование к серому Алгоритм преобразования к серому Загруженное изображение Серое изображение Пользователь

А3 Выполнение сглаживания Алгоритм сглаживания Серое изображение Параметры сглаживания Сглаженное серое изображение Пользователь

А4 Выделение границ на изображении Алгоритм поиска границ Сглаженное серое; Изображение Выбор алгоритма Обработанное изображение Пользователь

А5 Сохранение изображения Поддерживаемый формат Обработанное изображение Файл с обработанным изображением Пользователь

1.4 Техническое задание на разработку «Программного комплекса для автоматизации обработки изображения для выделения границ на изображении в оттенках серого»

1.4.1 Основание для разработки

Основанием для разработки является тема индивидуального задания для дипломной работы «Программный комплекс для автоматизации обработки изображений для выделения границ на изображении в оттенках серого».

Спец часть: Разработка программного обеспечения для реализации алгоритмов обработки изображения.

1.4.2 Назначение разработки

Программный комплекс предназначен для обработки изображений и выделения границ на изображении. Программный комплекс должен выполнять следующие функции: - преобразовывать изображение к оттенкам серого;

- сглаживать изображения;

- выделять границы.

1.4.3 Требования к функциональным характеристикам

Ниже представлены требования к составу выполняемых функций: - обеспечивать импорт изображения

- выполнять преобразование загруженного изображения в оттенки серого

- выполнять сглаживание изображения

- выделять границы на изображении согласно выбранному алгоритму

- сохранять обработанное изображение

1.4.4 Требования к надежности

Программный комплекс должен устойчиво функционировать и не приводить к зависанию операционной системы в аварийных ситуациях.

В случае возникновения сбоя должны выдаваться сообщения с указанием дальнейших действий. Во избежание возникновения ошибок необходимо создать руководство по эксплуатации ПК.

1.4.5 Условия эксплуатации

Условия эксплуатации ПП определяются САНПИН 2.2.2 545-96 «Гигиенические требования к видеодисплейным терминалам, персональным вычислительным машинам и организации работы».

Низший уровень требуемой квалификации обслуживающего персонала - оператор ЭВМ. Для настройки системы и ведения базы данных необходимо привлечение специалистов, имеющих высокий уровень квалификации в области информационных технологий.

1.4.6 Требования к составу и параметрам технических средств

Для нормального функционирования системы необходима персональная ЭВМ со следующими характеристиками: - объем оперативной памяти не менее 1024 МБ;

- процессор не ниже Pentium IV, мышь, клавиатура;

- наличие свободного места на жестком диске в размере не менее 1 Гбайт;

- Монитор.

1.4.7 Требования к информационной и программной совместимости

Система должна работать на платформах операционных систем Windows XP и выше.

Для обеспечения работоспособности ПК необходимо следующее программное обеспечение:.NET Framework 3.5.

Информация должна вводиться непосредственно через GUI. Результат визуализации информации должен быть представлен в хорошо воспринимаемом виде.

1.4.8 Требования к программной документации

Предварительный состав программной документации установлен в соответствии с ГОСТ 19.101-77. Ниже перечислен список программных документов и их содержание.

Текст программы - запись программы с необходимыми пояснениями и комментариями.

Описание программы - сведения о логической структуре и функционировании программы.

Программа и методика испытаний - требования, подлежащие проверке при испытании программы, также порядок и методы контроля.

Техническое задание - настоящий документ.

Пояснительная записка - схема алгоритма, общее описание алгоритма или функционирования программы, а также обоснование принятых технических и технико-экономических решений.

Эксплуатационные документы - описание применения, руководство пользователя.

1.4.9 Стадии и этапы разработки

Стадии и этапы разработки должны соответствовать ГОСТ 19.101-77

Стадии и этапы разработки приведены в таблице 1.5

Таблица 1.4 - Стадии и этапы разработки ПК для автоматизации обработки изображений и выделения границ

Этапы работ Описание работ

Техническое задание Анализ и формализация требований к ПТК для реализации алгоритмов обработки изображения.

Этапы работ Описание работ

Эскизный проект Разработка алгоритма для автоматизации обработки изображения и выделения границ. На основе определенных функциональных требований разработки модели предметной области. Диаграммы классов и прецедентов

Технический проект Разработка логической структуры проекта (состав программных модулей). Особенности реализации.

Рабочий проект Корректировка и доработка программного обеспечения, разработка документации.

Внедрение Разработка мероприятий по внедрению и сопровождению ПП

1.4.10 Порядок контроля и приемки

ПМК автоматизации обработки изображений должен соответствовать требованиям заказчика и отвечать всем поставленным функциональным требованиям.

Контроль программного продукта осуществляется в следующем порядке.

- проверка функциональности разработанного ПО;

- проверка реакции программы на различные действия пользователя;

- проверка выходных данных;

- после выхода из программы операционная система должна продолжать работать корректно.

Принятие созданной системы заключается в тестировании его на рабочих местах после настройки программного продукта.

1.5 Разработка логической модели ПК

1.5.1 Разработка диаграммы прецедентов использования

Диаграмма прецедентов - диаграмма, на которой отражены отношения, существующие между актерами и прецедентами. Основная задача - представлять собой единое средство, дающее возможность заказчику, конечному пользователю и разработчику совместно обсуждать функциональность и поведение системы[11].

Прецедент - возможность моделируемой системы (часть ее функциональности), благодаря которой пользователь может получить конкретный, измеримый и нужный ему результат. Прецедент соответствует отдельному сервису системы, определяет один из вариантов ее использования и описывает типичный способ взаимодействия пользователя с системой.

Диаграммы прецедентов применяются для моделирования поведения системы с точки зрения внешнего наблюдателя.

Для обработки изображения и выделения на нем границ в оттенках серого пользователю необходимо выполнить следующее: - Загрузить изображение - пользователь загружает необходимое изображение для обработки;

- Выбрать алгоритм поиска границ - алгоритм поиска выбирается пользователем;

- Преобразовать к серому - изображение преобразовывается к оттенкам серого;

- Сохранить обработанное изображение - по завершению поиска можно сохранить полученное изображение.

Таблица 1.5 - Описание прецедента «Загрузить изображение»

Описание прецедента

Основной исполнитель - Компьютер, заинтересованные лица-Пользователь

Предусловия - произведен запуск программы

Входные данные - исходное изображение

Основной успешный сценарий (основной процесс): - пользователь выбирает изображения - компьютер загружает изображение в приложение

Частота использования: - при каждой инициации процесса

Постусловия: - исходное изображение загружено

Выходные данные: - загруженное исходное изображение

Регистрация событий и обработки ошибок: - вывод сообщения для пользователя об ошибке загрузки изображения

Таблица 1.6 - Описание прецедента «Поиск границ»

Описание прецедента

Основной исполнитель - Компьютер, заинтересованные лица-Пользователь

Предусловия - исходное изображение загружено

Входные данные - исходное изображение

Основной успешный сценарий (основной процесс): - Пользователь выбирает алгоритм - Компьютер сглаживает изображение - Компьютер преобразовывает к серому - Компьютер выполняет поиск границ

Таблица 1.7 - Описание прецедента «Сохранить»

Описание прецедента

Основной исполнитель - Компьютер, заинтересованные лица-Пользователь

Предусловия - исходное изображение загружено

Входные данные - обработанное изображение

Основной успешный сценарий (основной процесс): - пользователь выбирает формат для сохранения - компьютер сохраняет изображение

Частота использования: - при каждой инициации процесса

Постусловия: - обработанное изображение сохранено

Выходные данные: - файл обработанного изображения

Регистрация событий и обработки ошибок: - вывод сообщения для пользователя, об ошибке сохранения изображения

Разработка диаграммы классов предметной области «ПК для автоматизации обработки изображений для выделения границ на изображении в оттенках серого»

Диаграмма классов может отражать различные взаимосвязи между отдельными сущностями предметной области, такими как объекты и подсистемы, а также описывает их внутреннюю структуру и типы отношений. Диаграмма классов является дальнейшим развитием концептуальной модели проектируемой системы[11].

Для построения диаграммы классов воспользуемся сценарием предметной области, приведенной в пункте 1.5.1.

Описание классов предметной области представлено в таблице 1.8.

Таблица 1.8 - Обязанности классов

Название класса Обязанности

Контур детектор Содержит изображение загруженное для обработки

Преобразователь серого Содержит в себе метод для преобразования загруженного изображения в оттенки серого

Свертка Содержит в себе метод, для выполнения свертки по заданному ядру

Ядра свертки Содержит в себе ядра свертки применяемые для различных алгоритмов

Кэнни Содержит в себе: метод реализующий алгоритм Кэнни для выделения границ на изображении

Робертс Содержит в себе: метод реализующий алгоритм Робертся для выделения границ на изображении

Собель Содержит в себе: метод реализующий алгоритм Собеля (Прюитт или Шара в зависимости от ядра) для выделения границ на изображении

Диаграмма последовательности - это диаграмма, на которой показаны взаимодействия объектов, упорядоченные по времени их проявления [12].

Графически диаграмма последовательности представляет собой разновидность таблицы, которая показывает объекты, размещенные вдоль оси X, и сообщения, упорядоченные по времени вдоль оси. Обычно слева размещается объект, инициирующий взаимодействие, а справа - объекты по возрастанию подчиненности. Сообщения, посылаемые и принимаемые объектами, помещаются вдоль оси Y в порядке возрастания времени от вершины к основанию диаграммы. Диаграмма последовательности имеет две характеристики: линия жизни объекта и фокус управления.

Линия жизни объекта - это вертикальная пунктирная линия, которая обозначает период существования объекта.

Фокус управления - это высокий тонкий прямоугольник, отображающий период времени, в течение которого объект выполняет действие.

Пользователь передает загруженное изображение в класс «Контур детектор», где происходит проверка на поддерживаемый формат и передает изображение классу «Преобразователь серого», который используя свой метод преобразовывает изображение к серому и передает его обратно классу «Контур детектор». После чего запрашиваются данные у класса «Ядра свертки» и передаются в класс «Контур детектор», который в свою очередь передает изображение и ядро свертки в класс «Свертка», после обработки изображение передается классу «Контур детектор».

Завершающим этапом является передача классом «Контур детектор» преобразованного изображения в класс «Робертс», где применяется метод выделения границ, и изображение передается в класс «Контур детектор». Далее система возвращает обработанное изображение пользователю.

Программный код часто разбивается на несколько файлов, каждый из которых компилируется отдельно от остальных. Такая модульность программного кода позволяет значительно уменьшить время перекомпиляции при изменениях, вносимых лишь в небольшое количество исходных файлов, и упрощает групповую разработку. Также это возможность замены отдельных компонентов конечного программного продукта, без необходимости пересборки всего проекта.

Функциональные модули: - Ввод данных - происходит ввод переменных, выбор алгоритма, загружается изображение из внешнего файла.

- Преобразование к серому - преобразовывает загруженное изображен

Вывод
1 Были изучен алгоритмы и методы выделения границ на изображении в оттенках серого.

2 На основании имеющихся методов выделения границ на изображении разработана математическая модель обработки изображений и выделения на них границ.

3 Сформулировано техническое задание, на создание программного комплекса автоматизации обработки изображений и выделения границ на в оттенках серого.

4 На основании использования UML разработана логическая модель программного продукта.

5 Разработан программный комплекс для выделения границ на изображении в оттенках серого.

В результате выполнения дипломной работы, поставленные цели и задачи были достигнуты.

Список литературы
1 Редактирование изображений - Википедия [Электронный ресурс]: Редактирование изображений. - Электрон дан. - Режим доступа: ru.wikipedia.org/wiki/Редактирование_изображений - Загл. с экрана.

2 Растровая графика - Википедия [Электронный ресурс]: Растровая графика. - Электрон дан. - Режим доступа: ru.wikipedia.org/wiki/ Растровая_графика - Загл. с экрана.

3 Выделение границ - Википедия [Электронный ресурс]: Выделение границ. - Электрон дан. - Режим доступа: ru.wikipedia.org/wiki/Выделение_границ - Загл. с экрана.

4 Грузман И.С. «Цифровая обработка изображений в информационных системах. Учебное пособие»/ Грузман И.С. /. - Новосибисрк: Изд-во НГТУ, 2002. - 352 c.

5 Оператор Собеля - Википедия [Электронный ресурс]: Оператор Собеля. - Электрон дан. - Режим доступа: ru.wikipedia.org/wiki/Оператор_собеля - Загл. с экрана.

6 Поиск контуров на изображении/ Хабрахабр [Электронный ресурс]: Оператор Прюитт. - Электрон дан. - Режим доступа: http://habrahabr.ru/post/114452/ - Загл. с экрана.

7 Оператор Кэнни - Википедия [Электронный ресурс]: Оператор Кэнни. - Электрон дан. - Режим доступа: ru.wikipedia.org/wiki/Оператор_ Кэнни - Загл. с экрана.

8 Обработка изображений и распознавание образов [Электронный ресурс]: Метод Лапласа. - Электрон дан. - Режим доступа: http://masters.donntu.edu.ua/2007/kita/gett/library/obrobotka.htm - Загл. с экрана.

9 Фильтрация изображений методом / Хабрахабр [Электронный ресурс]: Свертка ихображения. - Электрон дан. - Режим доступа: http://habrahabr.ru/post/62738/ - Загл. с экрана.

10 Леоненков А. «Самоучитель UML 2» /А. Леоненков/. - С.: «БХВ Петербург», 2007 г. - 576 с.

11 Ларман, К. «Применение UML и шаблонов проектирования» / К. Ларман/. - М.: «Вильямс», 2002 г. - 624 с.

12 UML лекции [Электронный ресурс]: Диаграмма последовательности. - Электрон дан. - Режим доступа: http://cod.on.kg/uml/8-lektsiia-elementy-graficheskoi-notatsii-diagrammy-posledovatelnosti - Загл. с экрана.

13 Буч, Г. Объектно-ориентированное проектирование с примерами применения / Г. Буч/. - М.: «Конкорд», 1992 г. - 519 с.

14 Сойфер В.А. «Методы компьютерной обработки изображений» / В.А. Сойфер/. - М.:ФИЗМАТЛИТ, 2003 - 784 с.

15 Павлидис Т «Алгоритмы машинной графики и обработки изображений»/Т. Павлидис /, - Радио и Связь, 1986. -394 с.

16 Айсманн К.» Ретуширование и обработка изображений в Photoshop»/ К. Айсманн, У. Палмер/, - M: Вильямс, 2008. - 560 с.

17 Иванов Д. В «Алгоритмические основы растровой графики»/ А.А. Хропов, Е.П. Кузьмин, А.С. Карпов, В.С. Лемпицкий, Д.В. Иванов /, - БИНОМ. Лаборатория знаний, 2007 - 286 с.

18 Коналлен Д. «Разработка Web-приложений с использованием UML» /Д. Коналлен/. - М.: Издательский дом «Вильямс», 2001. - 288 с.

19 Марка Д.А. «Методология структурного анализа и проектирования»/ Д.А. Марка, К. МАКГОУЭН /.-М.: «МЕТАТЕХНОЛОГИЯ», 1993. - 422 с.

20 Романычев Э.Т. «Инженерная и компьютерная графика -2-е.изд., перераб»/ Э.Т. Романычев / - М.:ДМК Пресс, 2001 - 592 с.

21 Методические указания к выполнению экономической части дипломных проектов студентами специальности «Компьютерные системы проектирования» / Сост. Скибина А.В., Подгора Е.А. - Краматорск: ДГМА, 1998. - 22 с. автоматизация изображение программный обработка

Размещено на
Заказать написание новой работы



Дисциплины научных работ



Хотите, перезвоним вам?