Лабораторна робота № 1
Работа с изображениями.
Загрузка изображений
Для загрузки изображений в рабочее пространство MATLAB используется функция imread со следующим синтаксисом:
imread('f ilename')
Например,
>> f=imread('chestxray.jpg');
Некоторые графические форматы, распознаваемые командами imread и imwrite, начиная с MATLAB 6.5
Формат изображения | Допустимые изображения | Расшифровка сокращения |
TIFF | .tif,.tiff | Tagged Image File Format |
JPEG | .jpg,.jpeg | Joint Photographic Experts Group |
GIF | .gif | Graphics Interchange Format |
BMP | .bmp | Windows Bitmap |
PNG | .png | Portable Network Graphics |
XWD | .xwd | X Window Dump |
Функция size (f) возвращает размер изображения, т. е. число строк и столбцов:
Например,
>> size(f)
ans =
1024 1024
Эта функция будет особенно полезной при автоматическом определении размера изображения, которое делается операцией:
» [M,N] = size(f);
При такой записи переменной М будет присвоено число строк изображения, а переменной N — число столбцов.
Функция whos сообщает дополнительную информацию о массиве. Например, строка
>> whos f
дает следующий результат:
|
|
Name Size Bytes Class
f 1024x1024 1048576 uint8 array
Grand total is 1048576 elements using 1048576 bytes
Вывод изображения на дисплей
Изображения можно вывести на дисплей компьютера с помощью функции imshow, которая имеет следующий синтаксис:
imshow(f, G),
где f — это матрица изображения, a G — это число уровней яркости, используемое при отображении этого изображения. Если аргумент G опущен, то по умолчанию принимается 256 уровней яркости.
Команда imshow(f, [low high]) означает, что все пикселы со значением не больше числа low надо показывать черными, а все пикселы со значениями не меньше числа high — белыми. Все промежуточные значения показываются с промежуточной яркостью с использованием числа уровней, принятому по умолчанию.
Команда imshow(f, [ ]) задает для переменной low минимальное значение массива f, а переменной high присваивается его максимальное значение. Такая форма функции imshow бывает полезной при показе изображений, имеющих узкий динамический диапазон значений пикселов, или когда среди них имеются положительные и отрицательные значения.
Если теперь показать другое изображение, скажем, g, с помощью функции imshow, то MATLAB поместит его на место старого. Чтобы сохранить на рабочем столе предыдущее изображение, можно использовать команду figure. Если набрать строку
>> imshow(f), figure, imshow(g)
то будут показаны оба изображения.
Функция pixval часто используется для интерактивного определения значений яркости отдельных пикселов. Эта функция отображает курсор, расположенный поверх изображения. Курсор перемещается по изображению вместе с мышью, а под окном изображения отображаются текущие координаты курсора и значение интенсивности в этой точке. При работе с цветным изображением вместе с координатами отображается интенсивность (яркость) красной, зеленой и синей компоненты цветного пиксела. При нажатии и удержании левой клавиши мыши функция pixval показывает евклидово расстояние от исходного до текущего положения курсора. Нажатие кнопки X в окне курсора отключает курсор на изображении.
|
|