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