|
各位大侠,我用OV9650摄像头获取了一帧图像,显示RGB565时图像没有问题,但是经过自己写的转换算法之后显示的灰度图像非常的暗,不知道是不是转换的地方有问题,求帮助啊- void Convert(unsigned char *img565, unsigned char *imgGray, int iWidth, int iHeight)
- {
- WORD *pData565 = (WORD*)img565;
- int iIndex = 0;
- for (int x = 0; x < iHeight; ++x)
- {
- for (int y = 0; y < iWidth; ++y)
- {
- unsigned char chR = *(pData565 + iIndex) & RGB565_MASK_RED >> 11;
- unsigned char chG = *(pData565 + iIndex) & RGB565_MASK_GREEN >> 5;
- unsigned char chB = *(pData565 + iIndex) & RGB565_MASK_BLUE;
- // unsigned char chGray = (chB*11 +chR*30 +chG*59+50)/100;
- unsigned char chGray = (chB*0.3 +chR*0.11 +chG*0.59);
- // unsigned char chGray = (chR + chG + chB) / 3.0;
- // unsigned char chGray = (chB*29 +chR*77 +chG*150+128)/256;
- // unsigned char chGray = (chB/31.0*0.3 +chR/31.0*0.11 +chG/63.0*0.59)*255;
- *(imgGray + x * iWidth + y) = chGray;
- ++iIndex;
- }
- }
- }
复制代码 565图像
转换后灰度图像
|
|