Примеры программирования задач со средствами пакета Images
Вы можете ознакомиться с каждым демонстрационным примером пакета Images, выполнив команду type fname, где fname – имя файла с демонстрационным примером. Однако следует отметить, что демонстрационные программы являются весьма сложными, поскольку создают окна в виде стандартных панелей с современными элементами пользовательского интерфейса и переключателями выбора вариантов. Мы рекомендуем читателю воздержаться от знакомства с этими программами до ознакомления с уроком 20, в котором систематически описаны средства программирования системы MATLAB. А пока мы ограничимся парой характерных примеров, наглядно показывающих, что при работе с системой MATLAB вполне можно руководствоваться народной поговоркой: "Не боги горшки обжигают".
Рассмотрим, к примеру, задачу фильтрации искаженного помехами произвольного изображения, представленного некоторым файлом. Реализующая эту сложную и весьма эффективную операцию программа выглядит следующим образом:
% Picture filter
I
=
imreadCsaturn.tif);
h
=
[
1
2
1
:
0
0
0
:
-
1
-
2
-
1
];
I2
-
filter2(h.I);
imshow(I2,[ ]) .colorbar
В результате исполнения этой простой и вполне очевидной программы можно получить отфильтрованное изображение из файла saturn.tif. Хотите попробовать обработать какой-либо снимок? Все, что для этого нужно, – подготовить снимок в нужном формате (например, tif) и заменить во второй строке имя демонстрационного файла на имя вашего файла.
Рассмотрим еще один достаточно простой пример – построение сферы в виде глобуса и наклеивание на полушарие этого глобуса изображения карты погоды:
load earth sphere: h
-
findobjC
'Type'
.
'surface'
);
hemisphere
=
[ones(
257.125
).X.ones(
257.125
)];
set(h.
'CData'
.f1i pud(hemi sphere).
'FaceColor'
.
'texturemap'
)
colormap(map)
axis equal
view([
90
0
])
setCgca.
'CameraViewAngleMode'
.
'manual'
)
view([
65
30
])
Пакет Images можно рассматривать как полезный инструмент для создания новых алгоритмов и методов обработки изображений и обучения специалистов. Применение его непосредственно для обработки изображений вполне возможно, но все же едва ли целесообразно. Дело в том, что обширнейшие возможности по обработке изображений открывают профессиональные графические пакеты, например Adobe Photoshop, Ulead Photolmpact, Corel Draw и др., в которых реализованы самые современные методы обработки изображений и использованы последние новации пользовательского интерфейса. В этом случае достоинство средств MATLAB проявляется только в математической прозрачности реализаций алгоритмов обработки изображений.