Функции Image Toolbox / rgb2ind.php
.htmСписок функцийImage Processing Toolbox. Описание функции RGB2IND Семинары Обучение Лицензирование Разработка Подписка Форум Регистрация Matlab Toolboxes Simulink Blocksets Femlab Полезное Вход Обработка сигналов и изображений\image Processing ToolboxСписок функций Image Processing Toolbox: Преобразования типов изображений
В оглавление \ К следующему разделу \ К предыдущему разделу
RGB2IND Преобразование полноцветного изображения в палитровое Синтаксис:
[X, map]=rgb2ind(RGB)
[X, тар]=rgb2ind(RGB, n, dither_option)
[X, map]=rgb2ind(RGB, tol, dither_option)
X=rgb2ind(RGB, map, dither_option)
Описание:
Функция rgb2ind создает палитровое изображение из полноцветного, используя один из четырех способов: запись в виде палитрового изображения без уменьшения количества цветов, установка равномерной палитры, оптимальный подбор палитры, использование некоторой предопределенной палитры. Три последних способа преобразования могут также использовать диффузионное псевдосмешение цветов (dithering) с помощью алгоритма Флойда-Стенберга [1].
[X, map)=rgb2ind(RGB) создает палитровое изображение X из полноцветного RGB, составляя палитру mар из всех уникальных цветов, представленных в исходном изображении. Результирующая палитра mар может быть очень большого размера.
[X, mар]=rgb2ind(RGB, tol, dither_option), где tol - число в диапазоне (0,1), создает палитровое изображение Х из полноцветного RGB, устанавливая равномерную палитру mар из цветов, которые в диапазоне [0, 1] берутся с шагом tol по каждой из цветовых составляющих R, G, В. Цвета исходного изображения заменяются ближайшими из установленной палитры mар. Максимально возможное число цветов в палитре mар составляет (floor(l/tol) + 1)^3. Действительное число цветов в палитре может оказаться меньше максимального, так как из палитры удаляются все цвета, которые отсутствуют в изображении.
[X, map]=rgb2md( RGB, n, dither_option ), где n - число, большее 1, создает палитровое изображение Х из полноцветного RGB, используя для подбора палитры mар из n цветов один из способов оптимального подбора палитры. Цвета исходного изображения заменяются ближайшими из подобранной палитры mар. Действительное число цветов в палитре может оказаться меньше n, так как из палитры удаляются все цвета, которые отсутствуют в изображении.
Х=rgb2ind(RGB, map, dither_option) создает палитровое изображение Х из полноцветного RGB. Цвета исходного изображения заменяются ближайшими из заданной палитры mар.
Параметр dither_option позволяет при преобразованиях применять или отказываться от применения диффузионного псевдосмешения цветов. Этот параметр может быть равен одной из следующих строковых констант:
'dither' - использовать диффузионное псевдосмешение цветов;
'nodither' - не использовать диффузионное псевдосмешение цветов.
По умолчанию псевдосмешение цветов применяется, и параметр dither_option может быть опущен. Псевдосмешение цветов позволяет улучшить цветовое восприятие изображения за счет ухудшения его пространственного разрешения и повышения уровня ВЧ шумов.
Для всех способов преобразования, если размер палитры mар меньше либо равен 256, результирующее изображение Х имеет формат uint8, в противном случае оно имеет формат double.
Пример.
Рассмотрим пример преобразования полноцветного изображения (рис. 1) в палитровое, содержащее только 16 цветов.
%.examp.m
% Пример демонстрирует преобразование
% полноцветного изображения в палитровое из 16 цветов.
% Чтение исходного полноцветного изображения
% и вывод его на экран (рис. 1а).
RGB=imread( 'f2.bmp');
imshow(RGB);
%Преобразование в палитровое изображение
%с равномерной палитрой и без псевдосмешения цветов (рис. 1б).
[Х1 map1]=rgb2ind( RGB, 0.65, 'nodither');
%Вывод получившегося палитрового изображения на экран.
figure, imshow( Х1, map1 );
%Преобразование в палитровое изображение
%с оптимальной палитрой и с псевдосмешением цветов.
[Х2 map2]=rgb2ind( RGB, 16 );
% Вывод получившегося палитрового изображения на экран (рис. 1в).
Рис. 1.
Сопутствующие функции: DITHER, IMAPPROX.
В оглавление \ К следующему разделу \ К предыдущему разделу
I Всероссийская научная конференция "Проектирование научных и инженерных приложений в среде MATLAB" (май 2002 г.)
II Всероссийская научная конференция "Проектирование научных и инженерных приложений в среде MATLAB" (май 2004 г.) На первую страницу \ Сотрудничество \ MathWorks \ SoftLine \ Exponenta.ru \ Exponenta Pro E-mail: matlab@exponenta.ru Информация на сайте была обновлена 14.05.05 Copyright 2001-2005 SoftLine Co
Наши баннеры hotlog_js="1.0"; hotlog_r=""+Math.random()+"&s=58396&im=33&r="+escape(document.referrer)+"&pg="+ escape(window.location.href); document.cookie="hotlog=1; path=/"; hotlog_r+="&c="+(document.cookie?"Y":"N"); hotlog_js="1.1";hotlog_r+="&j="+(navigator.javaEnabled()?"Y":"N") hotlog_js="1.2"; hotlog_r+="&wh="+screen.width+'x'+screen.height+"&px="+ (((navigator.appName.substring(0,3)=="Mic"))? screen.colorDepth:screen.pixelDepth) hotlog_js="1.3" hotlog_r+="&js="+hotlog_js; document.write("") >