23. Примеры программирования задач со средствами пакета Images

 

Примеры программирования задач со средствами пакета 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 проявляется только в математической прозрачности реализаций алгоритмов обработки изображений.