求将24位真彩色图像转为8位灰度图像的VC源代码!谢谢!

blueyoyoy 2003-10-21 10:25:48
对于一幅24位真彩色RGB图,如要将其转为8位的灰度图像。应该是要加入调色板信息的,那么BITMAPFILEHEADER BITMAPINFOHEADER应该都要重写。在VC中该怎么实现啊,请各位大侠指教,能否提供源代码看一下?谢谢!
...全文
105 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
topology18 2003-10-28
  • 打赏
  • 举报
回复
调色板就是:
for( int i=0 ; i<255 ; i++ )
rgb.r = rgb.g = rgb.b = i ;
wuyapu 2003-10-27
  • 打赏
  • 举报
回复
简单的:gray = (r+g+b)/3;
或者:gray = MAX(r,g,b);

上面那位介绍的叫做加权平均值法,
ljranby 2003-10-24
  • 打赏
  • 举报
回复
嘻嘻,sweeping(斯卫平) 最后的判断没有必要,因为系数之和为1,只要RGB保证在0-255就没有必要再判断。
我对VC不熟,不过以前的帖子有,忘了是在这里的还是在VC的图像版的了。
blueyoyoy 2003-10-23
  • 打赏
  • 举报
回复
可不可以给一下这方面的示例
sweeping 2003-10-21
  • 打赏
  • 举报
回复
从红绿蓝(Red, Green, Blue. RGB) 彩色
图象到灰度图象的转换方法(彩色电视到黑白电视的方法):

灰度 Y=(int) (0.299*((double) R)
+ 0.587*((double) G)
+ 0.114*((double) B))。
if Y<0
Y=0;
if Y>255
Y=255;

snowflier 2003-10-21
  • 打赏
  • 举报
回复
重新定义结构,包括调色板

4,445

社区成员

发帖
与我相关
我的任务
社区描述
图形图像/机器视觉
社区管理员
  • 机器视觉
  • 迪菲赫尔曼
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧