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

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску

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

История[править | править код]

Первые техники цифровой обработки изображений были разработаны в 1960-х годах в Лаборатории реактивного движения, Массачусетском технологическом институте, Лабораториях Белла, Мэрилендском университете и других исследовательских центрах в качестве приложений для спутниковой фотосъёмки, преобразования к стандартам фототелеграфа, медицинской визуализации[en], видеотелефонии, распознавания символов и улучшения фотографий[2]. Цена обработки на оборудовании того времени была, однако, очень высокой. Ситуация изменилась в 1970-х годах, когда стали доступны дешёвые компьютеры и другое оборудование. Затем появилась возможность обрабатывать изображения в реальном времени для некоторых задач, таких как преобразование телевизионных стандартов[en]. С ростом мощности компьютеров общего назначения на них стали выполняться почти все специализированные операции, требующие больших затрат ресурсов компьютера. С быстрыми компьютерами и обработкой сигналов, ставшими доступными в 2000-х годах, цифровая обработка изображения стала наиболее общей формой обработки изображения и, в общем случае, используется не только потому, что она даёт наиболее гибкие методы, но и потому, что это дешевле.

Технология цифровой обработки изображения для медицинских приложений попала в зал славы Космического фонда США по космическим технологиям в 1994[3].

Задачи[править | править код]

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

В частности, цифровая обработка изображения является единственной практичной технологией для:

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

Преобразование цифрового изображения[править | править код]

Фильтрация[править | править код]

Цифровые фильтры используются для размывания и увеличения резкости цифровых изображений. Фильтрация может быть осуществлена в пространственной области путём свёртки со специально разработанными ядрами (массивами фильтрации) или в частотной области (Фурье) путём отсеивания определённых областей частот. Следующие примеры показывают оба метода [4]:

Тип фильтра Ядро или маска Пример
Исходное изображение Affine Transformation Original Checkerboard.jpg
Пространственный фильтр нижних частот Spatial Mean Filter Checkerboard.png
Пространственный фильтр верхних частот Spatial Laplacian Filter Checkerboard.png
Представление Фурье Псевдокод:

image = шахматная_доска

F = Преобразование Фурье изображения

Показать изображение: log(1+Absolute Value(F))

Fourier Space Checkerboard.png
Фильтр Фурье нижних частот Lowpass Butterworth Checkerboard.png Lowpass FFT Filtered checkerboard.png
Фильтр Фурье верхних частот Highpass Butterworth Checkerboard.png Highpass FFT Filtered checkerboard.png

Отступы изображения при фильтрации Фурье области[править | править код]

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

Добавление нулей Отступ путём повторения рёбер
Highpass FFT Filtered checkerboard.png Highpass FFT Replicate.png

Заметим, сто фильтр показывает дополнительные рёбра в случае добавления нулей.

Примеры кода фильтрации[править | править код]

Пример MATLAB для пространственной фильтрации области по верхним частотам.

img=checkerboard(20);                           % generate checkerboard
% ****************  SPATIAL DOMAIN  ******************
klaplace=[0 -1 0; -1 5 -1;  0 -1 0];             % Laplacian filter kernel
X=conv2(img,klaplace);                          % convolve test img with
                                                % 3x3 Laplacian kernel
figure()
imshow(X,[])                                    % show Laplacian filtered 
title('Laplacian Edge Detection')

Аффинные преобразования[править | править код]

Аффинные преобразования дают возможность осуществлять базовые преобразования изображений, такие как изменение пропорции, вращение, перенос, зеркальное отражение и косой сдвиг как показано на примерах ниже[4]:

Название
преобразования
Аффинная матрица Пример
Тождественное преобразование Checkerboard identity.svg
Отражение Checkerboard reflection.svg
Изменение пропорций[en] Checkerboard scale.svg
Вращение Checkerboard rotate.svg где
Косой сдвиг[en] Checkerboard shear.svg

Приложения[править | править код]

Изображения цифровой камеры[править | править код]

Цифровые камеры обычно включают специализированные аппаратные средства цифровой обработки изображения – либо отдельные микросхемы, либо путём добавления цепей в другие микросхемы – для преобразования сырых данных от фотоматрицы в откорректированное по цвету[en] изображение в стандартном формате файле изображения.

Фильмы[править | править код]

Западный мир (1973) был первым художественным фильмом с использованием цифровой обработки изображения для пикселизации фотографии с целью промоделировать зрение андроида [5].

См. также[править | править код]

Примечания[править | править код]

Литература[править | править код]

Литература для дальнейшего чтения[править | править код]

Ссылки[править | править код]