Иллюстрированный самоучитель по Matlab

         

Растровая графика


Одна из отличительных черт системы MATLAB — мощные возможности в реализации обработки изображений (images) класса BitMap (так называемая растровая графика .bmp). Весьма небольшое число команд такой графики включено в ядро системы. Часть из них была рассмотрена выше. Остановимся на некоторых наиболее важных командах.

Команды image(A) и imagesc(A) служат для представления содержимого матрицы А в виде рисунка. Так, исполнив команду 

» image(25+5*peaks)

можно наблюдать представление матрицы трехмерной поверхности peaks в наглядном «цветовом» масштабе (рис. 7.10). При этом цвет каждой точки поверхности задается ее высотой.

Рис. 7.10.

Представление матрицы peaks в виде растрового рисунка

Для достаточно представительного отображения матрицы peaks в данном случае пришлось ввести нормирующие множитель 5 и слагаемое 25. Другая команда — Imagesc(A) — этого уже не требует. Результат исполнения приведенной ниже команды показан на рис. 7.11:

» imagesc(peaks)

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

RGB=hsv2rgb(HSV) — преобразует матрицу изображения HSV в матрицу изображения RGB;

HSV=rgb2hsv(RGB) — преобразует матрицу изображения RGB в матрицу изображения HSV.

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



Рис. 7.11.

Представление матрицы с помощью команды imagesc

Для получения детальной информации о графических файлах используется команда imfinfo( 'name'), где name — имя файла с расширением. Пример получения информации о файле saturn.tif (снимок планеты Сатурн) приводится ниже:

» imfinfo('saturn.tif') 

ans =

ans =

Filename : ' E : \MATLABR12\tool box\images\imdemos\saturn .tif '

FileModDate:

'26-Oct-1996 01:12:02'

FileSize:

144184

Format :

'tif

w

FormatVersion:

[]

Width:

438

Height:

328

BitOepth:

8

Color-Type:

'grayscale'

FormatSignature:

[73 73 42 0]

ByteOrder:

'little-endian'

NewSubfileType:

0

BitsPerSample:

8

Compression:

'Uncompressed'

Photomet ri с I nterpretati on :

'BlacklsZero'

StripOffsets:

[19x1 double]

SamplesPerPixel :

1

RowsPerStrip:

18

StripByteCounts:

[19x1 double]

XResolution:

72

YResolution:

72

ResolutionUnit:

'Inch'

Colormap:

[]

PlanarConfiguration:

'Chunky'

TileWidth:

[]

Ti 1 eLength :

[]

TileOffsets:

[]

TileByteCounts:

[]

Orientation:

1

Fill Order:

1

GrayResponseUnit:

0.0100

MaxSampleValue:

255 

MinSampleValue:

0

Thresholding:

1

ImageDescription:

[1x168 char]

Более интересна работа MATLAB с реальными изображениями. Она положена в основу многочисленных средств создания иллюстраций в пакетах прикладных программ системы MATLAB, и прежде всего специализированного пакета Images (полное название пакета — Image Processing Toolbox (Пакет обработки изображений)).



Содержание раздела