32真彩色BMP转换为8位BMP灰度图,救命了大侠们
32真彩色BMP转换为8位BMP灰度图,救命了大侠们,在线等
如题,如何用c或者c++实现将32位真彩色BMP图像转换为8位灰度图?24位可以实现,但是32位的图像变形了,最好有大概代码啊在下感激不尽,事关前途,求救了
------解决方案--------------------
图像变形的话,表明你的图片在边缘部分用到了32位图片的Alpha通道,它的本意是:
实际显示颜色 = 前景颜色*Alpha/255 + 背景颜色*(255-Alpha)/255
这样你转为灰度图片的时候,可以先试试叠加Alpha这个部分,大致是:
Y=R*0.299+G*0.587+B*0.114
Y=A*Y/255
如题,如何用c或者c++实现将32位真彩色BMP图像转换为8位灰度图?24位可以实现,但是32位的图像变形了,最好有大概代码啊在下感激不尽,事关前途,求救了
------解决方案--------------------
图像变形的话,表明你的图片在边缘部分用到了32位图片的Alpha通道,它的本意是:
实际显示颜色 = 前景颜色*Alpha/255 + 背景颜色*(255-Alpha)/255
这样你转为灰度图片的时候,可以先试试叠加Alpha这个部分,大致是:
Y=R*0.299+G*0.587+B*0.114
Y=A*Y/255