Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебное пособие (MathCad).doc
Скачиваний:
95
Добавлен:
27.11.2019
Размер:
3.98 Mб
Скачать

4.9. Обработка изображений

4.9.1. Средства обработки изображений

Обработка изображений, в частности полученных от цифровых фотокамер и сканеров, обычно выполняется с помощью специализированных программных средств, таких, как графические редакторы Paint, Ulead Photoimpact, PhotoShop, Corel DRAW и др. В них профессионально реализованы многие математические методы обработки изображений. Их можно применять, ничего не зная о сути этих методов, - так же, как можно пользоваться телевизором, не разбираясь в радиотехнике.

П ример работы в среде графического пакета CorelDRAW 10 дан на рис. 4.45. Из информационного окна в правом верхнем углу видно, что в сжатом вейвлет-формате файл занимает на диске около 220 Кбайт, а в памяти разворачивается до 2,2 Мбайт. Кстати, качество графических файлов в этом формате заметно выше, чем в других графических форматах.

Рис. 4.45. Работа с файлом вейвлет-формата WI в среде графического редактора CorelDRAW 10

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

4.9.2. Обработка монохромных изображений

Система Mathcad в любом варианте поставки с помощью функции READBMP позволяет считывать монохромные изображения, представленные файлами с расширением .BMP. Эта функция возвращает матрицу, которая определяется размером рисунка. Каждый элемент возвращаемой матрицы соответствует пикселю исходного изображения и имеет значение кода плотности черного цвета от 0 до 255.

Н ад матрицей изображения могут выполняться все доступные для матриц преобразования. Например, можно получить матрицу M1, дающую негативное изображение (на рис. 4.46 в центре): .

Рис. 4.46. Работа с монохромным изображением

С помощью функции submatrix можно из матрицы выделить подматрицу S меньшего размера, например: S := submatrix(M,60,160,50,150). Этот случай обработки изображения (вырезание части изображения) представлен на рисунке справа.

4.9.3. Обработка цветных изображений

Д ля построения цветных изображений используетсяметод разложения рисунка на составляющие цветовой модели RGB. При нем изображение представляется суммой трех составляющих с красным (Red), зеленым (Green) и синим (Blue) цветами. Соответственно функция READRGB обеспечивает считывание цветных изображений из файлов формата BMP и возвращает встроенный массив D, содержащий три монохромных изображения, представляющих яркости трех указанных цветов (рис. 4.47).

Рис. 4.47. Пример обработки цветного изображения

С помощью функции submatrix несложно выделить из матрицы D три матрицы rc, rg и rb, несущих информацию отдельно по каждому из трех цветов. После этого можно обрабатывать их по заданному алгоритму. Такая обработка возможна и в процессе задания подмассивов. Так, на рисунке подмассив красного цвета получен возведением каждого элемента массива D в степень 1.25. Если код интенсивности цвета какого-то элемента массива становится больше 255, из него вычитается число 256. Таким образом, происходит «внезапное» резкое изменение цвета, создающее при суммировании массивов характерное, напоминающее интерференцию изменение цвета красного пятна в центре синтезированного рисунка, как показано в левом нижнем углу рисунка (к сожалению, черно-белого).

Разумеется, приведенный пример носит исключительно учебный характер и призван продемонстрировать математические основы обработки цветных изображений. Реальная обработка таких изображений всегда ведется с помощью профессионально ориентированных на это программных средств, таких, как CorelDRAW, PhotoShop, Ulead PhotoImpact и др. Они позволяют выполнять множество операций над рисунками, не задумываясь об их математической сути. Но она принципиально важна при создании новых таких операций.