2014-06-10 6 views
2

저는 CIE L * a * b *에서 일을하고 싶은 이미지가 있습니다. 초기 sRGB 값이 [0,1] 범위에있는 경우 값의 범위는 어느 정도입니까?L * a * b * 값의 범위는 주어진 기준 화이트 포인트로 제한됩니까?

나는 다음과 같이 내 이미지를 얻을 :

우선 들어
im_rgb = im2double(imread('/my/file/path/image.jpg')); 

% ...do some muddling about with im_rgb, keeping range [0,1] 

xform = makecform('srgb2lab'); 
im_lab = applycform(im_rgb, xform); 

, 나는 L의 *은 0 ~ 100이 될 것이라는 것을 확신합니다. 그러나 나는 this thread을 발견했습니다. "... a *와 b *는 [-100,100] 범위에 국한되지 않습니다."

편집 :

matlab에의 기본 화이트 포인트가 0.9642, 1, 0.8249을 반환 whitepoint('ICC')에 의해 evaulated된다. 나는이 값을 사용하고 있는데, 그 밖의 무엇을 사용해야할지 모르겠습니다.

항상 동일한 (기본) 변환을 사용하고 입력 색상은 항상 실제 색상 (예 : R, G 및 B 각각에 대해 [0,1])이므로 L * a * b * 표현은 또한 실제 색상입니다. 이러한 L * a * b * 값도 경계가됩니까? 그렇다면 경계는 무엇입니까? 경계를 어떻게 결정할 수 있습니까?

+0

값은 참조 용 흰색 점에 따라 달라 지므로 ** ** 아무 것도 ** 표시 될 수 있습니다. MATLAB에서 참조 점은'D50 '이라고 생각합니다. 다이나믹 레인지가 무엇인지 알아 보려면 모든 가능한 RGB 값 (2^24)을 반복하고 각각을 L * a * b *로 변환 한 다음 모든 채널의 최소 및 최대를 찾을 수 있습니다. 시작하려면'L *'은'[0,100]'사이에 있어야합니다. 위에서 말했듯이, 이렇게하기 전에 채널이'[0,1]'범위에 있도록 RGB 값을 표준화 **해야합니다. – rayryeng

+0

그래서이 하얀 점은 나에게 조금 새로운 것이다. 나는 그 질문을 편집했다. 인터넷 검색을 조금하다가 궁금합니다. (주어진 흰색 점에 대해) 실제 노란색 일 수있는 가장 밝은 노란색이 있습니다. L * a * b *에 유한 한 표현이 있습니까? 아마 높은 b * 값을 가질 것입니까? 무차별 대입을 강요하는 것 외에 이것을 결정하는 이론적 인 방법이 있습니까? – Sveltely

+0

OK, CIE Color Gamut를 참고하십시오 : http://upload.wikimedia.org/wikipedia/commons/thumb/3/3b/CIE1931xy_blank.svg/495px-CIE1931xy_blank.svg.png. 'x'와 'y'좌표는 ** tristimulus ** 좌표로 알려져 있습니다.평신도의 관점에서 볼 때,이 값은 눈이 겪는 적색, 녹색 및 청색의 각 색상에 대해 경험 한 평균 표준화 감각입니다. 'x'는 대략 빨간색의 양이고,'y'는 녹색의 양이 될 것이고'z'는'1-x-y'를 수행하여 이것을 계산할 수 있기 때문에 여기에 묘사되지 않습니다. – rayryeng

답변

3

기본적으로 LAB에서 sRGB 공간의 경계를 찾는 방법을 묻는 중입니다.

L *부터 시작하여 예는 0과 100 사이에 바인딩됩니다. 이것은 정의에 의한 것입니다. XYZ에서 LAB 로의 변환 공식을 보면 L = 116*(Y/Ywhitepoint)-16이 표시됩니다. 당신이 sRGB 화이트 일 때 Y 비율이 1로 변하면 식 116-16 = 100이됩니다.식이 기본적으로 붕괴되는 것과 같은 일이 다시 발생합니다 4/29 * 116 -16 = 0.

a와 b가 조금 더 복잡합니다 . XYZ -> LAB 변환이 선형 적이 지 않으므로 변환으로 쉽게 설명 할 수 없습니다. 그러나 sRGB 큐브의 외부 표면은 LAB 공간의 바깥 경계가됩니다. 이것이 의미하는 바는 청색 프라이머 sRGB[0, 0, 1]과 같은 극단을 가져 와서 LAB로 변환하고 b 축에서 가장 넓은 범위 인 약 -108을 찾아 낼 수 있다는 것입니다. sRGB 큐브의 모든 부분에 대해 이렇게하면 LAB의 sRGB 공간의 범위에 대한 좋은 생각을 갖게됩니다.

대부분의 응용 프로그램 (특히 Photoshop)은 -128에서 127 사이의 a 및 b 채널 인코딩을 고정합니다. 실제로는 제대로 작동하지만 ProPhoto RGB와 같은 일부 대형 RGB 공간은 실제로이 범위를 벗어납니다. 일반적으로 이러한 색상의 대부분은 허수이며, 즉 스펙트럼 궤적 외부에 있기 때문에 실제적인 결과는 거의 없습니다.

관련 문제