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

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

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

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

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

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

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

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

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

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

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

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

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

Тип фильтра Ядро или маска Пример
Исходное изображение
Пространственный фильтр нижних частот
Пространственный фильтр верхних частот
Представление Фурье Псевдокод:

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

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

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

Фильтр Фурье нижних частот
Фильтр Фурье верхних частот

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

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

Добавление нулей Отступ путём повторения рёбер

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

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

Пример 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]:

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

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

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

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

Фильмы с применением цифровой обработки[править | править код]

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

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

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

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

  • Pragnan Chakravorty. What Is a Signal? [Lecture Notes] // IEEE Signal Processing Magazine. — 2018. — Сентябрь (т. 35, № 5).
  • Azriel Rosenfeld. Picture Processing by Computer. — New York: Academic Press, 1969.
  • Space Technology Hall of Fame:Inducted Technologies/1994. — Space Foundation, 1994. Архивировано 4 июля 2011 года.
  • Rafael Gonzalez. Digital Image Processing, 3rd. — Pearson Hall, 2008. — ISBN 9780131687288.
  • Larry Yaeger. A Brief, Early History of Computer Graphics in Film. — 2002. — Август. Архивировано 17 июля 2012 года.

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

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