void CWinColorDoc::m_RGB2Gray(unsigned char *InImg, unsigned char *OutImg, int height, int width)
{
int rwsize = WIDTHBYTES(24*width);
int i,j,index;
float r, g, b, gray;
for(i=0; i<height; i++)
{
index = (height-i-1)*rwsize;
for(j=0; j<width; j++)
{
r = (float)InImg[index+3*j+2]/255.0f;
g = (float)InImg[index+3*j+1]/255.0f;
b = (float)InImg[index+3*j ]/255.0f;
gray = (r+g+b)/3;
OutImg[index+3*j ] = (unsigned char)(gray*255.0);
OutImg[index+3*j+1] = (unsigned char)(gray*255.0);
OutImg[index+3*j+2] = (unsigned char)(gray*255.0);
}
}
}
영상처리를 공부하고 있는 학생입니다!
컬러 영상의 RGB값을 gray(I)로 바꿔서 출력해주는 함수입니다.
gray로 바꿔서 픽셀 하나하나 값을 비교하여 제일 밝은 값의 픽셀의 (r,g,b)값을 알아내고 싶은데요.
제 머리로는 도저히 구현이 안되서요 ㅜㅜ
도움 주시면 감사하겠습니다.