Конференция "Media" » цветное в черно-белое
 
  • copron (10.09.07 20:46) [0]
    Здравствуйте!
    Подскажите какими формулами можно преобразовать цветное изображение в черно-белое. То есть как определить какой цвет из RGB мы преобразуем в черное, а какой в белое. А если мне например понадобиться преобразовать в оранжево-белое или 256 цветов, то как в данном случае поступить?
  • Dib@zol © (10.09.07 21:01) [1]
    Если каждый из цветовых компонентов больше 127 - то белый, иначе - чёрный.
  • Efir © (10.09.07 21:36) [2]
    pix:=Round(0.3*R+0.59*G+0.11*B) - это есть серый

    if pix>Const then pix:=255 else pix:=0;

    R:=pix;
    G:=pix;
    B:=pix;
  • homm © (10.09.07 22:12) [3]
    > [2] Efir ©   (10.09.07 21:36)
    > pix:=Round(0.3*R+0.59*G+0.11*B) - это есть серый

    Ну и трава :)
  • DVM © (11.09.07 11:11) [4]

    > Efir ©   (10.09.07 21:36) [2]

    черно-белое (монохромное) и градации серого это две большие разницы
  • Efir © (11.09.07 11:49) [5]
    Никто и не сомневается.
  • WondeRu at work (12.09.07 14:33) [6]

    > Если каждый из цветовых компонентов больше 127 - то белый,
    >  иначе - чёрный.


    Мдяяя))

    copron, выбирай

    Y = K1*R + K2*G + K3*B

    1. 0,360*R + 0.530*G + 0.110*B
    2. Стандаpт CCIR 601-1 (как в стандаpтной VGA-ой функции):
    0,299*R + 0,587*G + 0,114*B
    3. Стандаpт CCIR 709:
    0,213*R + 0,715*G + 0,072*B
    4. Стандаpт ITU:
    0,222*R + 0,707*G + 0,071*B

    потом по Y ставишь условие: если больше какого-то значения, то белый, иначе - черный
  • homm © (12.09.07 15:02) [7]
    > [6] WondeRu at work   (12.09.07 14:33)

    А чего синий так не любят? :)
  • DevilDevil © (15.09.07 15:53) [8]
    Господа, Вы с какой планеты ?

    V := (integer(R) + G + B) div 3;

    R := V;
    G := V;
    B := V;

  • DevilDevil © (15.09.07 15:55) [9]
    это градации серого.
    а если чёрно-белый...
    if V < 128 then V := 0 else V := 255;

  • copron (16.09.07 20:40) [10]
    А если мне надо преобразовать в оранжево-белый, то нужно варьировать переменную V для более правильного пребразования (ну или другую по другим ответам)?
  • Efir © (16.09.07 20:51) [11]
    Причём здесь оранжевый если V -
    > это градации серого.
  • WondeRu at work (17.09.07 09:39) [12]

    > Господа, Вы с какой планеты ?
    >
    > V := (integer(R) + G + B) div 3;
    >
    > R := V;
    > G := V;
    > B := V;


    Откуда такую формулу взял?

    Неуд! Давай зачетку!
  • WondeRu at work (17.09.07 09:44) [13]

    > А чего синий так не любят? :)


    Человеческий глаз менее восприимчив к синему.
    http://physics.nad.ru/Physics/Cyrillic/rgb_txt.htm
  • Jeer © (17.09.07 10:02) [14]

    > WondeRu at work   (17.09.07 09:39) [12]
    >
    >


    А чего тут не ндравится ?
    1/3 - это простейший способ перехода от RGB к яркости в линейной системе RGB.


    > Человеческий глаз менее восприимчив к синему.


    А глаз тут практически и не при чем.
    Все эти формулы корреции предназначены в первую очередь для учета особенностей люминофора и косвенно уж - глаз.

    Кроме того, для более точного учета свойств люминофоров для CRT используются формулы коррекции для нелинейной системы RGB (гамма-коррекция)
  • DevilDevil © (17.09.07 15:05) [15]
    > WondeRu at work   (17.09.07 09:39) [12]

    мне вот тоже нтересно, что не понравилось
  • Jeer © (17.09.07 16:21) [16]

    > DevilDevil ©   (17.09.07 15:05) [15]


    Избыток голубого  в системе 1/3 ? :))
 
Конференция "Media" » цветное в черно-белое
Есть новые Нет новых   [134431   +10][b:0][p:0.001]