19,468
社区成员
发帖
与我相关
我的任务
分享
Gray = Red*0.299 + Green*0.587 + Blue*0.114
float MapR[256], MapG[256], MapB[256];
long i;
for(i=0; i <256; i++)
{
MapR[i] = i*0.299f;
MapG[i] = i*0.587f;
MapB[i] = i*0.114f;
}
BYTE *ptrI = pImage;
BYTE *ptrG = pGray;
for(i=0; i <ImageSize; i++)
{
*ptrG++ = (BYTE)(MapB[*ptrI++] + MapG[*ptrI++] + MapR[*ptrI++]);
}