[ photo ] in KIDS 글 쓴 이(By): limelite (a breeze) 날 짜 (Date): 2005년 7월 4일 월요일 오후 06시 31분 45초 제 목(Title): Re: terziron님 몰아서 답글 terzeron님... >limelite님께서 말씀하시는 "고정소숫점"이 뭔지 간단히 설명해주시면 >더 감사하겠습니다. 글쎄요. 제가 이걸 이 자리에서 설명하기는 그럴 것 같고... 예를 들어보고요. TI가 DSP(fixed point DSP 포함)를 많이 만드니까 여기 어디 참고자료를 찾아보시면 좋을 것 같네요. http://dspvillage.ti.com/ 함수 rgb2yuv는 식1에 따라 (R, G, B) => (Y, U, V)로 변환하는 C 함수입니다. 정수를 이용해서 fixed-point operation을 구현 했고요. 함수에서의 R, G, B의 계수와 식1에서의 R, G, B의 계수가 약간 차이날 수도 있습니다만(서로 다른 곳을 참조했기 때문에), 예시의 목적으로는 큰 영향이 없을 겁니다. Y = 0.30*R + 0.59*G + 0.11*B U = -0.15*R - 0.29*G + 0.44*B V = 0.61*R - 0.52*G - 0.10*B .............. 식1 /***********************************************/ /* rgb2yuv: RGB-to-YUV conversion */ /***********************************************/ rgb2yuv(r,g,b,y,u,v) unsigned char r,g,b; long int *y,*u,*v; { *y = ((0x00004c8b * ((long)r & 0xff)) + (0x00009645 * ((long)g & 0xff)) + (0x00001d2f * ((long)b & 0xff))) >> 8; *u = ((0xffffda5f * ((long)r & 0xff)) + (0xffffb605 * ((long)g & 0xff)) + (0x00006f6f * ((long)b & 0xff))) >> 8; *v = ((0x00009d70 * ((long)r & 0xff)) + (0xffff7c29 * ((long)g & 0xff)) + (0xffffe667 * ((long)b & 0xff))) >> 8; return; } 링링님... >그러니까 그 정도의 미묘한 차이가 필름과 디지털의 차이이고, >그게 두드러지게 드러나는 사진도 왕왕 있다고 말씀드렸잖습니까. > >예를 들어보죠. >웨딩드레스를 입은 신부를 찍었습니다. >피부가 드레스보다는 어둡습니다. 둘 다 밝게 나와야 합니다. >드레스가 흰 색이니까, 200~255 정도의 하이키 영역으로 표현한다고 칩니다. >그럼 사용할 수 있는 그레이 톤의 개수는 50여개가 됩니다. >충분한 숫자일 수도 있고 아닐 수도 있습니다. >출력 사이즈에 비해 해상도가 높아서 디더링이 티가 안날 정도면 50개로도 >충분하겠죠. 좀 더 생각해 보자고 했죠? 그런 말에 신경 써주시면 특별히 새로운 내용이 없는 이야기 반복 않으셔도 될 것 같네요. -_-; >별 근거는 없습니다. 근거 없이 그런 소리 하면 안 되나요? >....... >어차피 모든 공학적 결정이란게 경제적 타협을 전제로 깔고 이루어지는 것 >아닌가요? 왜 그렇게 날카롭게 반응하시는지 모르겠군요. 그럼 이건 제가 특별히 신경 써야할 이유 없는 거죠? 사실 저도 저런 이야기 일일이 신경 쓰고 싶지 않습니다. -_-;;; ...................................................................... 고이지 않고... 사로잡히지 않고... 가볍고 부드럽게... |