Если в процессе работы необходимо осуществить явное преобразование изображения, то для перевода представления изображений из типа double в тип uint8 и обратно используются функции im2uint8 и im2double соответственно. При этом осуществляется приведение значений пикселей к требуемому диапазону.
Пример
%считываем изображение из файла и преобразуем
%его к типу double
im = im2double(imread('my_image.bmp'));
Системой Matlab версии 6.5 поддерживаются следующие форматы графических файлов:
¨ BMP (Microsoft Windows Bitmap);
¨ CUR (Microsoft Windows Cursor resource);
¨ GIF (Graphics Interchange Format);
¨ HDF (Hierarchical Data Format);
¨ ICO (Windows Icon resource);
¨ JPEG (Joint Photographic Experts Group);
¨ PBM (Portable Bitmap);
¨ PCX (Windows Paintbrush);
¨ PGM (Portable Graymap);
¨ PNG (Portable Network Graphics);
¨ PPM (Portable Pixmap);
¨ RAS (Sun Raster image);
¨ TIFF (Tagged Image File Format);
¨ XWD (X Window Dump).
3. Основные команды пакета Image Processing Toolbox
Команда IMREAD
Используется для считывания изображения из файла. Команда имеет следующий синтаксис:
¨ A = imread(filename) – читает из файла с именем filename бинарное, полутоновое или цветное изображение и помещает его в массив A. Если файл содержит полноцветное изображение (т.е. записанное в формате RGB), то массив A будет сформирован как трехмерный, иначе – как двумерный. Параметр filename должен быть строкой;
¨ [X, map] = imread(filename) - используется для чтения палитровых изображений в массив Х, а считанная палитра заносится в массив map.
Пример
%считываем изображение из файла
im = imread(‘h:\labor\image\006\FRM001.bmp')
Команда IMFINFO
Используется для получения информации о параметрах изображения в указанном файле. Команда имеет следующий синтаксис:
¨ info = imfinfo(filename.
Пример
%считываем параметры изображения из файла
info = imfinfo('my_image.bmp')
Информация об изображении и способе его хранения в файле с именем filename заносится в структуру info. Структуры info различаются для разных форматов файлов, однако первые 9 полей всегда содержат следующую общую информацию, которую можно представить в виде табл. 1.
Таблица 1
Общие поля структуры info
Имя поля |
Тип |
Описание |
FileName |
Строка |
Имя файла, если файл находится в текущей директории, или полный путь к файлу |
FileModeDate |
Строка |
Дата и время последней модификации файла |
FileSize |
Число |
Размер файла в байтах |
Format |
Строка |
Формат файла, совпадающий с параметром fmt |
FormatVersion |
Строка или число |
Версия формата |
Width |
Число |
Ширина изображения в пикселях |
Height |
Число |
Высота изображения в пикселях |
BitDepth |
Число |
Глубина изображения в битах на пиксель |
ColorType |
Строка |
Тип изображения: - ‘truecolor’ или ‘RGB’ для полноцветных изображений; - ‘grayscale’для полутоновых; - ‘indexed’для палитровых |
Команда IMWRITE
Используется для записи изображения в файл. Команда имеет следующий синтаксис:
¨ imwrite(A, filename) – используется для записи в файл filename бинарного, полутонового или полноцветного изображения из массива А.
Если исходное изображение имеет формат представления данных double, то перед записью в файл данные изображения автоматически преобразуются в uint8.
Пример:
%записываем изображение im в файл
imwrite(im,'my_image.bmp')
Команда IMSHOW
Используется для вывода изображения, содержащегося в массиве на экран монитора. Команда имеет следующий синтаксис:
¨ imshow(I, n) – выводит на экран полутоновое изображение из массива I, используя при выводе n оттенков серого. Если значение n опущено, то для вывода используется 256 уровней;
¨ imshow(I, [lowhigh]) – выводит на экран полутоновое изображение из массива I, контрастируя его таким образом, что все пиксели изображения, яркость которых меньше или равна значению low, отображаются черным цветом, а яркость которых больше или равна значению high – белым, остальные – оттенками серого. Все уровни серого равномерно распределяются от low до high;
¨ imshow(BW) – выводит на экран бинарное изображение из бинарного массива BW;
¨ imshow(X, map) – выводит на экран палитровое изображение из массива X с палитрой map;
¨ imshow(RGB) – выводит на экран полноцветное изображение из массива RGB;
¨ imshow(filename) – выводит на экран изображение из файла с именем filename.
Пример
%считываем изображение из файла
im = imread('my_image.bmp');
%отображаем считанное изображение на экране
imshow(im);
Команда IPTSETPREF
Используется для изменения режима вывода изображения соответствующими командами (например imshow). Команда имеет следующий синтаксис:
¨ iptsetpref(prefname, value).
При выполнении команды глобальной переменной prefname присваивается значение value, которое затем используется командами, осуществляющими вывод изображения на экран, например imshow. В табл. 2 приведены возможные имена и значения глобальных переменных. Установленные с помощью команды iptsetpref значения сохраняются либо в течение текущей сессии, либо до следующего вызова iptsetpref.
Таблица 2
Глобальные переменные, устанавливаемые с помощью iptsetpref
Параметр prefname |
Значение value |
Описание |
Imshowborder |
‘loose’ |
Вывод изображения imshow с отступом от края окна figure таким образом, что остается место для дополнительных надписей. |
‘tight’ |
Изображение занимает все окно figure |
|
Imshowaxesvisible |
‘on’ |
Выводятся оси координат |
‘off’ |
Оси координат не выводятся |
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.