打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
32位和24位的位图转换成8位的灰度图

////24位的位图转换成8位的灰度图
  double   r   =   (double)(rgb[nIndex].rgbRed);  
  double   g   =   (double)(rgb[nIndex].rgbGreen);  
  double   b   =   (double)(rgb[nIndex].rgbBlue);  
  BYTE   c   =   (BYTE)(r*0.29900   +   g*0.58700   +   b*0.11400);  
 
  对于人眼来说,亮度信号是最敏感的,如果将彩色图像转换为灰度图像,仅仅需要转换保存亮度信号就可以。
  从 RGB 到 YUV 空间的 Y 转换公式为:
  Y = 0.299R+0.587G+0.114B
 
/////32位转换成8位的灰度图
   32位的真彩图是由ARGB构成,A表示通明度,去掉高8位,也就是第一个字节,就和24位转换成8位一样了 
 
 
////也有人这样
   BYTE Y=(BYTE )(Red*0.299+Green*0.587+Blue*0.114);/////24转成8位
   BYTE Y=(BYTE )(Red*0.299+Green*0.587+Blue*0.1140+0.5);/////32转换成8位
   转换成不同位的灰度图可以这样:Y = Y/ (1<<(8- 转换的位数 ));  转换的位数可以为:1,2,4,  8。
 
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Matlab在数字图像处理中的应用 - 寻梦的日志 - 网易博客
关于 图像 的基础知识
李涛PS高手之路笔记 向高手晋级吧 - 基础技巧 - Ps平面教程学习 - Cc视觉 -p...
摄影学堂(每四部分:后期处理)
怎么样将bmp黑白图,转换成点阵数组形式???
RGB565的灰度处理
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服