저는 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 * 값도 경계가됩니까? 그렇다면 경계는 무엇입니까? 경계를 어떻게 결정할 수 있습니까?
값은 참조 용 흰색 점에 따라 달라 지므로 ** ** 아무 것도 ** 표시 될 수 있습니다. MATLAB에서 참조 점은'D50 '이라고 생각합니다. 다이나믹 레인지가 무엇인지 알아 보려면 모든 가능한 RGB 값 (2^24)을 반복하고 각각을 L * a * b *로 변환 한 다음 모든 채널의 최소 및 최대를 찾을 수 있습니다. 시작하려면'L *'은'[0,100]'사이에 있어야합니다. 위에서 말했듯이, 이렇게하기 전에 채널이'[0,1]'범위에 있도록 RGB 값을 표준화 **해야합니다. – rayryeng
그래서이 하얀 점은 나에게 조금 새로운 것이다. 나는 그 질문을 편집했다. 인터넷 검색을 조금하다가 궁금합니다. (주어진 흰색 점에 대해) 실제 노란색 일 수있는 가장 밝은 노란색이 있습니다. L * a * b *에 유한 한 표현이 있습니까? 아마 높은 b * 값을 가질 것입니까? 무차별 대입을 강요하는 것 외에 이것을 결정하는 이론적 인 방법이 있습니까? – Sveltely
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