Перейти к содержанию

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

Эта статья находится на начальном уровне проработки, в одной из её версий выборочно используется текст из источника, распространяемого под свободной лицензией
Материал из энциклопедии Руниверсалис

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

История

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

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

Задачи

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

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

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

Преобразование цифрового изображения

Фильтрация

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

Тип фильтра Ядро или маска Пример
Исходное изображение [math]\displaystyle{ \begin{bmatrix} 0 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 0 \end{bmatrix} }[/math]
Пространственный фильтр нижних частот [math]\displaystyle{ \frac{1}{9}\times \begin{bmatrix} 1 & 1 & 1 \\ 1 & 1 & 1 \\ 1 & 1 & 1 \end{bmatrix} }[/math]
Пространственный фильтр верхних частот [math]\displaystyle{ \begin{bmatrix} 0 & -1 & 0 \\ -1 & 4 & -1 \\ 0 & -1 & 0 \end{bmatrix} }[/math]
Представление Фурье Псевдокод:

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]:

Название
преобразования
Аффинная матрица Пример
Тождественное преобразование [math]\displaystyle{ \begin{bmatrix} 1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 1 \end{bmatrix} }[/math]
Отражение [math]\displaystyle{ \begin{bmatrix} -1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 1 \end{bmatrix} }[/math]
Изменение пропорций[англ.] [math]\displaystyle{ \begin{bmatrix} c_x=2 & 0 & 0 \\ 0 & c_y=1 & 0 \\ 0 & 0 & 1 \end{bmatrix} }[/math]
Вращение [math]\displaystyle{ \begin{bmatrix} \cos(\theta) & \sin(\theta) & 0 \\ -\sin(\theta) & \cos(\theta) & 0 \\ 0 & 0 & 1 \end{bmatrix} }[/math] где [math]\displaystyle{ \theta = \tfrac{\pi}{6} =30^\circ }[/math]
Косой сдвиг[англ.] [math]\displaystyle{ \begin{bmatrix} 1 & c_x=0.5 & 0 \\ c_y=0 & 1 & 0 \\ 0 & 0 & 1 \end{bmatrix} }[/math]

Приложения

Изображения цифровой камеры

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

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

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

См. также

Примечания

Литература

Литература для дальнейшего чтения

  • Solomon C.J., Breckon T.P. Fundamentals of Digital Image Processing: A Practical Approach with Examples in Matlab. — Wiley-Blackwell, 2010. — ISBN 978-0470844731. — doi:10.1002/9780470689776.
  • Wilhelm Burger, Mark J. Burge. Digital Image Processing: An Algorithmic Approach Using Java. — Springer, 2007. — ISBN 978-1-84628-379-6.
  • Fisher R., Dawson-Howe K., Fitzgibbon A., Robertson C., Trucco E. Dictionary of Computer Vision and Image Processing. — John Wiley, 2005. — ISBN 978-0-470-01526-1.
  • Rafael C. Gonzalez, Richard E. Woods, Steven L. Eddins. Digital Image Processing using MATLAB. — Pearson Education, 2004. — ISBN 978-81-7758-898-9.
  • Tim Morris. Computer Vision and Image Processing. — Palgrave Macmillan, 2004. — ISBN 978-0-333-99451-1.
  • Milan Sonka, Vaclav Hlavac, Roger Boyle. Image Processing, Analysis, and Machine Vision. — PWS Publishing, 1999. — ISBN 978-0-534-95393-5.
  • Basim Alhadidi, Mohammad H. Zu'bi, Hussam N. Suleiman. Mammogram Breast Cancer Image Detection Using Image Processing Functions // Information Technology Journal. — 2007. — Т. 6, вып. 2. — С. 217–221. — doi:10.3923/itj.2007.217.221.

Ссылки