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

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

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 27.03.2013
Размер файла 1,7 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Введение

Ещё в середине 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.5.3 Виды обеспечения функционирования программного продукта

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

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

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[] {.3 f. 3 f. 3f, 0, 0},

new float[] {.59 f. 59 f. 59f, 0, 0},

new float[] {.11 f. 11 f. 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» открывается окно, приведенное на рисунке. На главном окне программы (рисунок 2.5) расположено меню 1, которые состоит из пунктов «Файл», «Настройки», «Преобразования», «Выделение контура» и «Справка», так же на главном окне расположены две вкладки 2,3 переходя по которым пользователь попадает либо в окно «Исходное/обработанное изображение», либо в окно «Серое/размытое изображение». На вкладке «Исходное/обработанное изображение» располагаются поле для вывода изображений исходного и обработанного 4.

При нажатии на вкладку «Серое/размытое изображение» ему открывается эта вкладка (рисунок 2.6). На ней размещено поле для вывода результатов промежуточной обработки изображения 1.

Рисунок 2.5 - главное окно Contour Detector

Рисунок 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). Для выполнения размытия пользователю требуется нажать кнопку «Размыть», либо в меню «Преобразования» выбрать пункт «Размыть».

Рисунок 2.15 - Окно программы с панелью настроек

6 Если пользователь не преобразовал к серому ему будет выдано сообщение (рисунок 2.16)

Рисунок 2.16 - Окно предупреждения

7 Если пользователь ввел количество проходов размытия больше 50 ему будет выдано сообщение (рисунок 2.17)

Рисунок 2.17 - Окно программы сообщения об превышении количества размытия

8 Что бы посмотреть преобразование к серому и результат размытия нужно перейти на вкладку «Серое/размытое изображение» (рисунок 2.18)


Подобные документы

  • Методы обработки изображений. Представление изображения в форматах RGB и HSB. Экономическая эффективность разработки и внедрения программного обеспечения подсистем обработки и выделения текстильных волокон. Защита оператора ЭВМ от вредных факторов.

    дипломная работа [287,2 K], добавлен 19.06.2010

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

    курсовая работа [1,7 M], добавлен 27.01.2015

  • Выбор методов обработки и сегментации изображений. Математические основы примененных фильтров. Гистограмма яркости изображения. Программная реализация комплексного метода обработки изображений. Тестирование разработанного программного обеспечения.

    курсовая работа [1,3 M], добавлен 18.01.2017

  • Обработка изображений на современных вычислительных устройствах. Устройство и представление различных форматов изображений. Исследование алгоритмов обработки изображений на базе различных архитектур. Сжатие изображений на основе сверточных нейросетей.

    дипломная работа [6,1 M], добавлен 03.06.2022

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

    курсовая работа [2,3 M], добавлен 15.04.2019

  • Изучение и программная реализация в среде Matlab методов обработки, анализа, фильтрации, сегментации и улучшения качества рентгеновских медицинских изображений. Цифровые рентгенографические системы. Разработка статически обоснованных алгоритмов.

    курсовая работа [4,7 M], добавлен 20.01.2016

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

    курсовая работа [1,8 M], добавлен 17.06.2013

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

    реферат [5,2 M], добавлен 05.05.2023

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

    практическая работа [1006,7 K], добавлен 28.09.2019

  • Основные категории изображений: растровые и векторные. Программы, работающие с растровыми изображениями. Инструменты для работы с обоими типами графики в программе Photoshop. Обзор современных программ обработки и просмотра графических изображений.

    курсовая работа [49,0 K], добавлен 20.09.2010

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.