Лабораторная работа № 1
Загрузка, вывод и сохранение изображений в matlab. Элементарные преобразования черно-белого изображения.
MATLAB является языком высокого уровня для выполнения технических и научных вычислений. В нем интегрированы вычисления, визуализация и программирование в удобной пользовательской среде, в которой задачи и их решения выражаются с помощью привычных математических обозначений.
Пакет Image Processing Toolbox (IPT) состоит из функций MATLAB (они называются М-функции или М-файлы), которые расширяют возможности стандартной среды MATLAB для решения задач цифровой обработки изображений.
Загрузка изображений
Для загрузки (чтения) изображений в рабочее пространство MATLAB используется функция imread со следующим синтаксисом:
imread(‘filename’).
Здесь filename – строка символов, образующих полное имя загружаемого файла изображения (включая любое расширение). Например, командная строка
>> f=imread(‘chestxray.jpg’);
Присваивает изображение формата JPEG с именем chestxray матричной переменной f. Заметим, что символ (‘) используется в качестве ограничителя символьной строки filename. Точка с запятой в конце командной строки означает инструкцию системе MATLAB не отображать вывод для данной команды. Если точка с запятой отсутствует, то MATLAB отображает результат (вывод) выполнения операций в командной строке. Символ приглашения (>>) обозначает начало командной строки, который появляется в окне команд MATLAB.
Приведем таблицу с некоторыми графическими форматами, распознаваемыми командами imread и imwrite, начиная с MATLAB 6.5.
Формат изображения |
Расшифровка сокращения |
Допустимые расширения |
TIFF JPEG GIF BMP PNG XWD |
Tagget Image File Format Joint Photographic Experts Group Graphics Interchange Format Windows Bitmap Portable Network Graphics X Window Dump |
.tif, .tiff .jpg, .jpeg .gif .bmp .png .xwd |
Если в имя файла изображения не включена информация о пути к данному файлу, то filename ищется в текущей папке. А если его там нет, то делается поиск данного файла во всех папках, пути к которым указаны в пути поиска MATLAB. Самый простой способ прочесть изображение из некоторой конкретной папки – это включить полный или относительный путь к этой папке в строке filename. Например, команда
>> f=imread(‘D:\myimage\chestxray.jpg’);
считывает изображение из папки myimage на диске D:, а команда
>> f=imread(‘.\myimage\chestxray.jpg’);
загружает изображение из подпапки myimage текущей рабочей папки. Текущая рабочая папка MATLAB отображается в строке инструментов рабочего стола и ее можно поменять вручную.
Функция size(f) возвращает размер изображения, т.е. число строк и столбцов:
>> size(f)
ans =
1024 1024
Эта функция будет особенно полезной при автоматическом определении размера изображения, которое делается операцией
>> [M,N]=size(f);
При такой записи переменной M будет присвоено число строк изображения, а переменной N – число столбцов.
Функция whos сообщает дополнительную информацию о массиве. Например, строка
>> whos f
дает следующий результат:
Name |
Size |
Bytes |
Class |
f |
1024x1024 |
1048576 |
uint8 array |
Grand total is 1048576 elements using 1048576 bytes |
|||
Запись unit8 означает один из классов данных MATLAB.
