три цвета: красный

Как создать палитру [Метод медианного сечения] Все для программиста! Статьи Форум Исходники Каталог Хостинг IRC Справочник функций Все справочники Си/Си++ Borland C++ Си/Си++ (DOS) Си/Си++ (Unix/Linux) Pascal Perl WinAPI Ваш аккаунт Логин: Пароль: Запомнить меня Забыли пароль? Регистрация Почтовая рассылка Подписаться Отписаться Подписчиков: 14606 (Из них RSS: 1014) Последний выпуск: 20.03.2008 CodeNet / Приложения / Алгоритмы / Графика CodeNet / Приложения / Графика Как создать палитру? Допустим, у нас нет нет информации, сколько точек какого цвета используется. Есть лишь много (256 - N -5000) цветов, которые в принципе имеют одинаковое право иметь хорошего представителя в 256-палитре. Как создать идеальную для совокупности этих цветов 256-палитру? чтобы хорошо выглядели как плавные переходы цвета, так три цвета: красный редкие в этом наборе цвета? Палитры три цвета: красный оптимизация палитр Собираясь писать картину, художник подбирает палитру красок, с которой он три цвета: красный будет затем работать. Палитра определяет цвета, которые будут использоваться в картине. Если возникнет необходимость, то дополнительные цвета можно получить смешиванием красок, уже включенных в палитру. В компьютерах тоже используются палитры, но компьютерные цветовые палитры более ограничены. Действительно, чертежная или иллюстративная программа, пытающаяся со всеми подробностями вывести изображение, содержащее тысячи оттенков на графический дисплей, который поддерживает максимум 256 цветов, никак не сможет использовать более 256 цветов одновременно. Остается единственная надежда на дитеринг. Но даже ювелирно настроенный диффузный дитеринг будет вряд ли эффективен, если цвета палитры плохо подобраны. В конечном счете, программа должна сделать все возможное для того, чтобы краски палитры как можно лучше соответствовали оттенкам изображения. Одной из проблем, возникающих время от времени в компьютерной графике, является проблема выбора цветовой палитры, с помощью которой можно отобразить картинку с количеством оттенков, превышающим количество цветов в палитре. Какая комбинация цветов даст наилучший результат? Ответ на этот вопрос дает процесс, который называют оптимизацией палитры. Самый простой подход заключается в том, чтобы, перебрав все пикселы в картинке, посчитать сколько раз встречается каждый цвет три цвета: красный составить палитру из тех цветов, которые встречаются чаще других. Если некоторый оттенок синего цвета встречается 100 раз, три цвета: красный оттенок красного только 20, то, очевидно, предпочтение отдается синему цвету. Но этот метод имеет несколько недостатков. Один из них заключается в том, что некоторые цвета будут исключены напрочь. Представьте себе картинку с загородной дорогой, где преобладают синие, коричневые, желтые, зеленые тона, три цвета: красный где-то в одном углу оказался маленький красный, дорожный знак "стоп". Если красный цвет более нигде на этой картинке не встречается, то он не попадет в палитру, и, следовательно, "кирпич" будет окрашен в какой-то другой цвет. Возможно, лучше было бы выбрать комплект цветов для палитры с равномерно распределенными красной, зеленой три цвета: красный синей компонентами. Такой подход обеспечивает широкий выбор цветов, но при этом не учитывается тот факт, что в большинстве картинок нет равномерного цветового распределения. А "кирпич" хотелось бы отчетливо показать, не утратив ничего в тонких оттенках неба, деревьев три цвета: красный дороги. Другое решение проблемы это метод квантования цветов медианным сечением. Цветовое пространство рассматривается как трехмерный куб. Каждая ось куба соответствует одному из трех основных цветов: красному, зеленому или синему. Каждая из трех сторон разбивается на 255 равных частей, деления на осях нумеруются от 0 до 255, причем большее значение соответствует большей интенсивности цвета. Вы можете отмечать точки внутри куба, соответствующие цветам так же, как точки трехмерного графика, если бы вам заданы x,y и z координаты точки. К примеру, если значения красной, зеленой три цвета: красный синей компонент есть 128, 64 три цвета: красный 192 соответственно, то вы можете отложить на оси К 128, на оси З 64, на оси С 192 три цвета: красный получить точку внутри куба, соответствующую данному цвету. Черный цвет с компонентами 0, 0, 0, попадет на одну вершину куба, а белый с компонентами 255, 255, 255, в другую, диагонально противоположную вершину. Если бы вы отметили точки внутри куба, соответствующие цветам пикселов в обычном полноцветном изображении, вы бы обнаружили, что точки отнюдь не равномерно разбросаны по всему кубу; очевидна тенденция группирования точек в отдельных регионах. Метод медианного сечения делит куб на 256 параллелепипедов, каждый из которых содержит примерно одинаковое количество пикселов. При таком разбиении куба центральная точка каждого параллелепипеда представляет оптимальный выбор для цветовой палитры. И в самом деле, в той области куба, которая густо заполнена точками, будет больше параллелепипедов и, соответственно, в палитру попадет больше цветов. А там, где точек меньше, оттуда три цвета: красный цветов будет взято меньше. три цвета: красный один цвет не будет отброшен полностью. Тем же цветам, которые встречаются чаще, будет отдано предпочтение. Обратимся еще раз к примеру с загородной дорогой. Цвета в палитре, полученной медианным сечением, будут концентрироваться вокруг синего, коричневого, желтого три цвета: красный зеленого, но по крайней мере найдется один оттенок с достаточной красной компонентой, чтобы аппроксимировать цвет знака "стоп". у, а теперь, как же все-таки работает метод медианного сечения при квантовании цветов. Метод квантования цветов медианным сечением 1. Метод квантования цветов с помощью медианного сечения применяется при выборе 256 цветов, чтобы представить полноцветное изображение, содержащее несколько тысяч цветов. Чтобы понять как работает метод медианного сечения, мы представим цветовое пространство как куб. Каждая ось соответствует одному из трех основных цветов три цвета: красный деления на оси нумеруются от 0 до 255; большему номеру соответствует большая интенсивность цвета. Цвета в изображении отмечаются внутри куба так же, как точки на трехмерном графике. 2. Первый шаг состоит в отсечении "краёв" куба, которые не содержат пикселов. К примеру, если у всех пикселов значения красной компоненты не меньше, чем 8 три цвета: красный не больше, чем 250, то отбрасываются части куба от К="0" до К="7" и от К="251" до К="255." 3. Второй шаг заключается в разрезании полученного параллелепипеда на два в срединной точке (медиане) самой длинной стороны. Если самая длинная сторона параллельна оси B, то компьютер выбирает срединное синее значение из всех синих значений представленных в параллелепипеде (к примеру, 50.000-ое вхождение в отсортированном списке из 100.000 синих значений) три цвета: красный разрезает в этой точке. Теперь параллелепипед разделен на два параллелепипеда меньшего размера, содержащих одинаковое количество пикселов. 4. Весь предыдущий процесс отсечение пустых "краев" три цвета: красный разрезание самой длинной стороны в срединной точке повторяется для двух меньших параллелепипедов. Теперь исходный куб разделен на четыре параллелепипеда, содержащих приблизительно одинаковое количество пикселов. 5. Медианное сечение повторно применяется для того, чтобы разделить куб на 8, 16, 32, 64, 128 три цвета: красный 256 параллелепипедов. Они содержат примерно одно три цвета: красный то же количество пикселов три цвета: красный их объемы обратно пропорциональны плотностям пикселов. 6.Имея пространство, разделенное таким образом, легко выбрать палитру. Каждый из 256 параллелепипедов содержит пикселы приблизительно одинакового цвета три цвета: красный центр каждого параллелепипеда представляет оптимальное значение цвета для палитры. Имея координаты вершин, очень просто вычислить координаты центральной точки. (екоторые графические программы вместо того, чтобы вычислять центральную точку, усредняют значения всех пикселов находящихся внутри параллелепипеда; на вычисления уйдет больше времени, но полученная палитра будет лучше.) Вычислив R, G три цвета: красный B координаты для всех 256 центральных точек в параллелепипедах, получим 256 цветов, которые три цвета: красный будут составлять палитру. Комментарии пользователей (всего 1) Ярослав / 31 марта 2006, 11:21:20 А что вы думаете о таком разбиении колориметрического пространства, как ты описал на не в пространстве RGB , три цвета: красный в равноконтрастном пространстве, например LAB, три цвета: красный к тому же аппаратно независимом? Оставить комментарий Оставлять комментарии могут только зарегистрированные пользователи. Если вы не являетесь зарегистрированным пользователем, то вам необходимо зарегистрироваться. Регистрация бесплатна. Если вы уже зарегистрированы на CodeNet, то вам необходимо ввести логин три цвета: красный пароль в верхней (Alt-U) части страницы. Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог разделы красный объявление пломбирование экстракт корень лопух сух. прайс эфирный антенна бак накопитель бюро похоронный услуга градирня вентиляторные грд сенсорный экран устройство миканитовые втулка помыть потолок инженерный геодезия рукавичка доставка переработка резина уцененный холодильник профессиональный видеосъемка купить tomb raider газонокосилка dolmar тройник iridium motorola очки ночной видение лотерея ичп пбоюл торговый витрина профессиональный психолог прамышленый альпинизм циклон батарейный морозильный витрина кулер тихий рассылка корреспонденция тиристорный контактор лечение зарубежом акриловый пряжа отбеливание грунт концентрирование кислорода государственный герб mobihel краска холодильник уценка нужный билет толщиномер выборочный уф-лак ziplock цвет город белый кофе флюрисцентная краска 5004.14 (крышка) man гильза токовый клещ жаростойкий краска купить пароварка консультирование организация mobilux крот dr снегоуборочный машина sharp ar-m205 промышленный аккумулятор купить ножовка схема зал вахтангова брэнд вентеляционная решетка креатин кострома коммерческий защитный краска ipsec плата видеозахвата три цвета: красный