주어진 회색 값과 동일한 밝기로 다른 색상을 계산하는 방법은 무엇입니까?


11

이것은 tex.stackexchange 에서 묻는 질문 과 관련 이 있으며 색상 측면이 있습니다. 그 질문의 결과는 다음 이미지입니다.
값과 채도 대비

왼쪽에 일련의 회색 정사각형을 그렸습니다. 목표는 채도가 다른 빨간색 사각형을 가지지 만 모두 같은 회색 값을 갖는 것입니다. hsv 색상 모델에서는 모두 동일 v하지만 Gimp를 사용하여 이미지를 회색조로 변환하면 동일한 회색으로 변환되지 않습니다. 또한 시각적 인상은 오른쪽의 빨간색 사각형이 왼쪽의 사각형보다 어둡다는 것입니다.

어떻게, (같은 회색으로, 더 나은 또는 특정 색상과 같은 회색 값을 특정 회색, 계산 색상을 부여 할 수 있습니다 인상 )? 이미지에 사용 된 색상이 모두 계산되므로 계산 기능이 통합 된 솔루션을 선호합니다.

여기에서 잘못된 용어를 사용했을 수도 있습니다. 저는 기계 엔지니어이므로 적절한 곳에서 수정하거나 설명을 요청하십시오.


Lab 색 공간을 사용하라는 제안으로 몇 가지 결론을 얻었습니다.

  • Lab 모델의 L값을 사용하여 다른 색상에 대해 일종의 회색 값을 설정할 수 있습니다 . hsv 모델에서 이것은입니다 v. 나는 실제로 그것들을 비교할 수 있는지 확실하지 않지만 누군가 불평 할 때까지 할 것입니다.

  • hsv 모델에서는 Lab 모델에서 찾을 수없는 "기본 색상"(색조)을 설정할 수도 있습니다.

  • hsv 모델에는 2 개의 상수 (위 이미지에서 h= 0, v= 0.375)와 하나의 변수 ( s)가 있습니다.

  • 지금까지 Lab 모델에는 상수가 하나만 있습니다. 그것은 이미 hsv 모델로 만든 것과 비슷한 것을 생성하기에는 충분하지 않습니다.

실험 할 때가 된 것 같습니다.


끝난! 변환 코드를 실행 한 후에는 wuite가 쉬웠습니다. 첫 번째 단계는 오른쪽에 "대상 빨강"을 정의하는 것이 었습니다. RGB2Lab (255,0,0)을 계산하고 결과의 L 값을 그림에서 원하는 L로 변경했습니다 (L = 62.5). 색상은 (L, 0,0)에서 (L, aTarget, bTarget)까지 실험실 공간에서 선형 보간을 사용하여 계산됩니다. 결과:

여기에 이미지 설명을 입력하십시오

감사합니다!


2
wikipedia 항목에 유용한 정보가 많이 있지만 문제와 관련이있을 수있는 가능성이 있음을 발견했습니다 ( en.wikipedia.org/wiki/HSL_and_HSV#Disadvantages ). 특히 "HSL 및 HSV는 일부 RGB 공간과 관련하여 절대 색상 공간은 아닙니다. 색상을 지정하려면 HSL 또는 HSV 값뿐만 아니라 사용중인 감마 보정을 포함하여 RGB 공간의 특성을 정확하게보고해야합니다. "
horatio

따라서 명백한 아이디어는 변환을 시도 할 때 감마 및 RGB 색 공간 (가능한 경우!)을 지정하는 것입니다.
horatio

2
더 좋은 아이디어는 RGB → L * a * b * → RGB입니다. Lab은 인간의 시력을 근사하도록 설계되었으며 Lightness 는 그 차원 중 하나입니다.
Jari Keinänen

@ koiyu Lab은 회색 일치도 발견하는 방법입니다. (당신이 그것을 이길! 당신이 이것을 게시했을 때 나는 아래 답변을 조롱했다.)
Nick

나는 색상 인식에 대한 문제 토론을 피하고 있었다 :)
horatio

답변:


10

랩 색상 공간 을 사용 하여 일치하는 항목을 찾을 수 있습니다. 대상 회색과 L 값이 같은 색상은 회색조로 변환 할 때 거의 동일하게 보입니다.

예를 들어 (50, 0, 0)의 Lab Grey는 다음과 같이 변환 할 때 Lab Reds (50, 30, 0), (50, 50, 30) 및 (50, 50, 50)과 매우 유사하게 보입니다. 회색조. 아래 샘플은 Photoshop (이미지> 모드> 회색조)을 사용하여 Lab에서 회색으로 변환합니다. 원래 실험실 색상
회색조로 변환


내가 원하는 것 같아! 감사합니다. 그러나 툴셋에서 Lab을 직접 사용할 수 없으므로 일종의 변환 알고리즘이 필요합니다. Koiyu는 RGB-> Lab-> RGB를 변환 할 것을 제안했으며 그 구현을 시도 할 것입니다.
Christoph

1
다음을 발견했습니다 : http://www.brucelindbloom.com/index.html?Equations.html . 전환이 올바른지 모르겠으며 일부 마법이 여전히 필요하다는 인상을 받았습니다.
Christoph

이러한 변환 함수 는 유용 할 것 같습니다.
Nick

그리고 그들은 실제로 좀 더 직설적으로 보입니다 ...
Christoph

@ Nick 계산기로 모든 계산을 할 수 있습니다. 그러나 LaTeX 문서에서 색상 모델 변환을 구현해야하므로 여기 저기 어려움이 있습니다. 완료되면 결과를 게시하고 답변을 수락하겠습니다.
Christoph

4

따라서 Nick의 위의 조언은 50 % 휘도에만 적용됩니다. 다른 L 값을 다른 색상에 동일하게 적용하면 회색 결과가 다릅니다.

이를 위해서는 수학이 필요하지만 화면에서 직접 볼 수 있습니다.

원하는 모든 색상을 만든 다음 투명 모드를 사용하여 회색 요소 (일러스트 레이터) 또는 레이어 (포토샵)를 "컬러"(또는 채도 또는 색조)로 설정하면 아래의 모든 요소가 광도를 나타냅니다.

회색 요소 아래의 모든 색상의 채도가 100인지 확인해야합니다. 그렇지 않으면 멋진 색상이 아니라 회색의 결과가 나타납니다.

이제 문제는 : 위의 모든 방법을 사용하면 모든 요소를 ​​"사용 된 RGB 프로파일 내부의 동일한 광도", 즉 선택된 "장치"에 대해 동일한 회색으로 만들고 최악의 부분을 만들 수 있습니다. 눈은 장치입니다 차이가 있습니다.

다른 사람들에게 동일한 색상을 표시 할 수 있으며 다른 사람들과 동일한 "균등도"를 찾지 못할 것입니다.

선택한 장치에서 해당 색상을 "동일한 광도"로 설정하고 있다는 사실에 덧붙이십시오. 다른 장치에 표시하자마자 모든 "추정 된"것뿐만 아니라 모든 장치가 효과가 실패합니다. 다른 강도로 빨강 녹색 또는 파랑 요소를 밝힐 수있는 자체 기능이 있으므로 빨간색 요소 등을 얻을 수 있습니다.

또한 위에서 제안한대로 회색에서 색상으로 혼합하는 경우 회색 요소가 모든 채널에서 최소 1/255 이상 (즉, 더 이상 회색이 아님)인지 확인해야합니다. 그렇지 않으면 소프트웨어에서 원점 회색을 0 색조, 붉은 색조의 중간 색조를 제공합니다 (0 색조와 다른 색상의 혼합이 빨간색쪽으로 반쯤되므로)

나는 90 년대 이후 프리 프레스 전문가이고 나의 충고는 다음과 같습니다 : 만약 당신이 수학을하려고한다면, 당신은 눈에 대한 수학 (시각적 능력)과 당신이 보여줄 장치에 대한 수학을 사용해야합니다 그 숫자들.

행운을 빕니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.