Цифровая обработка изображений реферат

Обновлено: 02.07.2024

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

1.2 Что такое цифровая обработка изображений

Цифровая обработка изображений (Digital Image Processing) - это метод и технология для удаления шума, улучшения, восстановления, сегментации и извлечения характеристик изображений с помощью компьютеров. На появление и быстрое развитие цифровой обработки изображений в основном влияют три фактора: один - это развитие компьютеров; другой - развитие математики (особенно создание и совершенствование теории дискретной математики); третий - широкий спектр сельского хозяйства, животноводства, лесного хозяйства и окружающей среды. , Военное, промышленное и медицинское применение.

1.3 MATLAB и основа инструментария обработки изображений

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

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

1.4 Объем обработки изображений, охватываемый этой книгой

  • Глава 2: Преобразование оттенков серого и пространственная фильтрация
  • Глава 3: Фильтрация частотной области
  • Глава 4: Восстановление и реконструкция изображения
  • Глава 5: Обработка цветного изображения
  • Глава 6: Сжатие изображения
  • Глава 7: Сегментация изображений
  • Глава 8: Представление и описание

1.7 Основные принципы

1.7.5 Представление цифрового изображения

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

1.7.6 Ввод / вывод изображения и отображение

Используйте функцию imread, чтобы прочитать изображение в среде MATLAB, основное использование:

Здесь имя файла - это строка, содержащая полное имя файла изображения (включая любые доступные расширения). Например:

Функция imread поддерживает большинство популярных графических форматов, включая JPEG и TIFF.

Используйте функцию imshow для отображения изображения на рабочем столе MATLAB.Основной синтаксис функции:

Среди них f - массив изображений.
Пример:

Если вы впоследствии используете imshow для отображения другого изображения g, MATLAB заменит изображение в графическом окне новым изображением. Чтобы сохранить первое изображение и вывести второе изображение, вы можете использовать рисунок функции следующим образом:

这里写图片描述

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

Функция imwrite также может иметь другие параметры в зависимости от формата записываемого файла. Более общий imwriteuifa -

Где q - целое число от 0 до 100 (для сжатия JPEG чем меньше число, тем выше ухудшение).

1.7.7 Класс и тип изображения


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

Панель инструментов поддерживает 4 типа изображений:

  • Изображение в оттенках серого
  • Двоичное изображение
  • Индексное изображение
  • RGB изображение

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

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

1.7.8 Программирование функций M

M файл:

Файл M создается текстовым редактором и сохраняется с именем файла в формате filenamne.m. Компоненты следующие:

  • Строка определения функции
  • Линия H1
  • Текст справки
  • Тело функции
  • Комментарий
    Строка определения функции имеет следующий вид:

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

Среди них f и g - входные изображения, s - суммарное изображение, а p - изображение продукта. Существительное sumprod выбрано произвольно, но слово функция всегда появляется слева. Имя функции не начинается с буквы, остальные могут быть любой комбинацией букв, цифр и подчеркивания, пробелы не допускаются.

Функцию можно вызвать из командной строки. Например,

Строка H1 - это первая текстовая строка, которая представляет собой отдельную строку комментария после строки определения функции. Между ними не должно быть пустых строк или ведущих пробелов, например:

Когда пользователь входит

Строка H1 - это текст, который появляется первым.

Файл sumprod будет открыт для редактирования, и если он не может быть найден, MATLAB создаст файл.

Арифметический оператор

这里写图片描述

MATLAB имеет два разных типа арифметических операторов. Матричные арифметические операции определяются в соответствии с правилами линейной алгебры, а арифметические операции с массивами выполняются поэлементно, и могут использоваться многомерные массивы. Знак точки (.) Используется для различения операций над массивами и операций над матрицами.

Оператор отношения

这里写图片描述

Логические операторы

这里写图片描述

Управление потоком

这里写图片描述

Индекс массива


Используйте оператор транспонирования (. ’) для преобразования вектора-строки в вектор-столбец (и наоборот):

Для доступа к блоку элемента вы можете использовать двоеточие, например, для доступа к первым трем элементам v:

Точно так же вы можете использовать следующий оператор для доступа к предпоследнему элементу:

Среди них end представляет последний элемент в векторе.
Вы также можете использовать вектор в качестве индекса другого вектора:

Кроме того, индекс не ограничивается соседними элементами, например:

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

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

Функция sum вычисляет сумму каждого столбца своих параметров, один индекс двоеточия преобразует A в вектор-столбец и передает результат сумме.
Еще одна очень полезная форма индексации - это логический индекс. Логический индекс имеет вид A (D), где A - это массив, а D - группа сетевых технологий того же размера, что и A. Выражение A (D) извлекает все элементы в A, которые соответствуют элементам с 1 значением в D, например:

Дескрипторы функций, массивы ячеек и структуры

Дескриптор функции - это тип данных MATLAB, который защищает всю информацию при обращении к функции. Одним из преимуществ является то, что дескриптор функции может быть передан другой функции в качестве параметра в вызове.
Есть еще два разных типа функций, оба из которых создаются с помощью дескриптора функции operator @.
Например:

这里写图片描述

Функцию sin можно вызвать косвенно, вызвав дескриптор функции f:

Типом второго дескриптора функции является дескриптор анонимной функции, который формируется выражением MATLAB, которое заменяет имя функции. Общий формат для построения вашей функции i-name:

Например, квадрат ввода, доступного для следующего дескриптора анонимной функции:

这里写图片描述

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

Матрица ячеек позволяет комбинировать набор объектов (таких как массивы, символы и другие матрицы ячеек) под именем переменной. Например, предположим, что мы обрабатываем: 1. изображение f uint8 размером 512 × 512 пикселей; 2. двумерную последовательность координат b в виде массива 188 × 2; 3. единичный массив, содержащий имена двух символов char_array = < 'площадь', 'центроид'>. Эти три разных объекта можно организовать в одну переменную c с помощью массива ячеек:

Оптимизация кода

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

Среди них x = 0,1,2 . M-1. Ниже приводится первая форма:

(numel (x) дает количество элементов в массиве x)
Вывод, когда M = 5 равен

这里写图片描述


Функции MATLAB tic и toc можно использовать для измерения времени выполнения функции. Вызовите tic, затем вызовите функцию, затем вызовите toc

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

Где f - дескриптор своевременной функции, а s - время измерения соответствующего вызова f в секундах.
Мы можем использовать timeit для измерения времени sinfun1, когда M = 100:

Продолжите эксперимент, используйте timeit для измерения времени выполнения sinfun1 при M = 500,1000,1500, ······, 20000.

Это время будет увеличиваться пропорционально M ^ 2, и новое пространство памяти необходимо перераспределять каждый раз, что является огромными накладными расходами.
Предварительное выделение может быть инициализировано размером вывода до запуска Xunke. Функция нулей обычно используется для предварительного распределения. Вторая форма функции sinfun2.m использует предварительное выделение:

这里写图片描述

Сравните время, необходимое для sinfun1 (20000) и sinfun2 (20000):

В форме предварительного выделения он выполняется примерно в 220 раз быстрее.

ПОЯСНИТЕЛЬНАЯ ЗАПИСКА
К КУРСОВОЙ РАБОТЕ |
СРЕДНЕАРИФМЕТИЧЕСКИЙ ФИЛЬТР, СИГМА ФИЛЬТР |
по дисциплине: ЦИФРОВАЯ ОБРАБОТКА ИЗОБРАЖЕНИЙ |

РАБОТУ ВЫПОЛНИЛ
СТУДЕНТ ГР. | 4949 КФ | | | | М.Репко |
| | | подпись, дата | | инициалы, фамилия |
Санкт-Петербург
2013

Метод:Среднеарифметический фильтр, сигма-фильтр.

Задание:
1. Изучить алгоритм работы и особенности заданного метода обработки изображения.
2. Разработать интерфейс и написать программу, реализующую данный метод, в форме Windows-приложения. Приложение должно обеспечивать:
- ввод и отображение на дисплее монохромного изображения формата bmp;
- максимально эффективную программную реализацию обработки заданным методомисходного изображения;
- отображение результата обработки на экране дисплея и сохранение его в заданном пользователем файле;
- отображение на дисплее координат и яркости любого выбранного пользователем пикселя исходного изображения и яркости соответствующего ему пикселя обработанного изображения, а также дополнительные возможности для оценки результата работы, например, гистограммы яркости и разрезыфункций яркости изображений по строкам и столбцам.
- Подготовить с помощью графических редакторов несколько тестовых изображений, позволяющих проверить правильность работы программы, и подобрать реальные изображения, демонстрирующие особенности, преимущества и недостатки работы заданного метода.
- Провести эксперименты по обработке подготовленных тестовых и реальных изображений, сделать подробныйанализ полученных результатов.

Среднеарифметический фильтр является простейшим среди усредняющих фильтров. Пусть Sxy обозначает прямоугольную окрестность, т.е. некоторую область изображения размером mn с центром в пикселе (х,у). Процедура фильтрации предполагает вычисление среднеарифметическогозначения яркости пикселей искаженного изображения z(x,y) в окрестности Sxy. Яркость пикселя с координатами (х,у) восстановленного изображения и представляет собой это значение, т.е.
(1.1)
Из сравнения (1.2) и (1.3) видно, что весовые коэффициенты матрицы ядра среднеарифметического фильтра постоянны и равны а его апертура и есть окрестность Sxy. Уменьшение шума происходит в результатесглаживания локальных вариаций яркости, но при значительной апертуре фильтра качество изображения ухудшается из-за заметного размывания перепадов яркости.
Анализ дисперсии, точнее среднеквадратичного отклонения яркости σ, использует и сигма-фильтр, алгоритм работы которого заключается в следующем:

* перед началом обработки изображения задаются размер окрестности Sxy, пороговый коэффициент k и способопределения σ (задается пользователем, вычисляется по всему изображению или в окрестности Sxy обрабатываемого пикселя);
* для окрестности каждого обрабатываемого пикселя определяется σ (если выбран такой способ определения σ), вычисляется пороговая яркость zпор = kσ, а отклик фильтра – среднее значение яркостей тех пикселей окрестности Sxy, у которых отклонение яркости от яркости центрального пикселяzxy ≤ zпор.
В результате, если яркость пикселя окрестности значительно отличается от яркости центрального пикселя, то она не учитывается при вычислении средней яркости окрестности и границы фрагментов изображения меньше размываются.
Медианные фильтры хорошо работают до тех пор, пока пространственная плотность импульсного шума не превышает 0,2.

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

Из всех этих сигналов при обработке изображений выполняется поле, которое относится к типу сигналов, для которых вход является изображением, а вывод — также изображением. Как следует из названия, он занимается обработкой изображений.

Это может быть далее разделено на аналоговую обработку изображений и цифровую обработку изображений.

Аналоговая обработка изображений

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

Цифровая обработка изображений доминирует над аналоговой обработкой изображений с течением времени из-за более широкого спектра применений.

Цифровая обработка изображений

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

Что такое изображение

Изображение — это не более чем двухмерный сигнал. Он определяется математической функцией f (x, y), где x и y — две координаты по горизонтали и вертикали.

Значение f (x, y) в любой точке дает значение пикселя в этой точке изображения.

Что такое изображение

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

Каждое число представляет значение функции f (x, y) в любой точке. В этом случае значения 128, 230, 123 каждый представляет отдельное значение пикселя. Размеры изображения на самом деле являются размерами этого двухмерного массива.

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

Если изображение представляет собой двумерный массив, то какое оно имеет отношение к сигналу? Чтобы понять это, нам нужно сначала понять, что такое сигнал?

Сигнал

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

Сигнал может быть одномерным или двухмерным или более размерным сигналом. Одномерный сигнал — это сигнал, который измеряется во времени. Типичным примером является голосовой сигнал.

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

отношения

Как формируется цифровое изображение

Поскольку захват изображения с камеры — это физический процесс. Солнечный свет используется в качестве источника энергии. Сенсорная матрица используется для получения изображения. Поэтому, когда солнечный свет падает на объект, количество света, отраженного этим объектом, воспринимается датчиками, и непрерывный сигнал напряжения генерируется количеством измеренных данных. Чтобы создать цифровое изображение, нам нужно преобразовать эти данные в цифровую форму. Это включает выборку и квантование. (Они обсуждаются позже). Результат выборки и квантования приводит к двумерному массиву или матрице чисел, которые являются ничем иным, как цифровым изображением.

Перекрывающиеся поля

Машинное / Компьютерное зрение

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

Машинное Компьютерное Видение

Компьютерная графика

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

Компьютерная графика

Искусственный интеллект

Искусственный интеллект — это более или менее исследование внедрения человеческого интеллекта в машины. Искусственный интеллект имеет множество применений в обработке изображений. Например: разработка компьютерных систем диагностики, которые помогают врачам интерпретировать изображения рентгеновских лучей, МРТ и т. Д., А затем выделять заметные участки, которые должен осмотреть врач.

Обработка сигнала

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

Для работы с изображениями необходимо обрабатывать двумерные массивы данных. Для общности пусть они по-прежнему задаются в пространстве V, но теперь как функции двух переменных х и у. В этом случае вместо выражения для одномерной вейвлет-функции вида, записанной с независимой переменной х, можно воспользоваться ее двумерным аналогом, учитывая, что теперь по каждому измерению (х и у) пространства… Читать ещё >

Двумерные вейвлеты. Цифровая обработка изображений ( реферат , курсовая , диплом , контрольная )

Двумерные вейвлеты. Цифровая обработка изображений.

Для работы с изображениями необходимо обрабатывать двумерные массивы данных. Для общности пусть они по-прежнему задаются в пространстве V, но теперь как функции двух переменных х и у. В этом случае вместо выражения для одномерной вейвлет-функции вида, записанной с независимой переменной х, можно воспользоваться ее двумерным аналогом, учитывая, что теперь по каждому измерению (х и у) пространства сигнала V имеются свои значения, а и b. Обозначив их как а1 и а2, а также b1 и b2, можно записать выражение для двумерного непрерывного вейвлета в виде:

Двумерные вейвлеты. Цифровая обработка изображений.

где V = х, y? R2. Для двумерного дискретного вейвлет-анализа непрерывных сигналов необходимо также задать условия дискретизации:

(j, k)?Z 2 , a=2 j , b=k2 j =ka,.

Шj, k=2 -j/2 ш (2 -j V-k), цj, k=2 -j ц (2 j V-k).

Попробуем распространить описанные выше положения частотно-временного представления вейвлет-анализа на случай сигналов в виде функций двух переменных х и у. В данном случае можно воспользоваться тензорным произведением одномерного кратномаштабного анализа, и в качестве мерной масштабирующей функции взять Ф (х, у)=ц (х)ц (у) (20, "https://referat.bookap.info").

Тогда, с учетом известного соотношения для тензорного произведения, вместо одного вейвлета теперь возникают три:

Читайте также: