Одна из отличительных черт системы 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 (Пакет обработки изображений)).