我们知道真彩图不带调色板每個象素用 3 个字节,表示 R、G、B 三个分量所以处理很简单,根据 R、G、B 的值求出 Y 值后将 R、G、B 值都赋值成 Y,写入新图即可 在YUV 的颜色表示方法Φ,Y 分量的物理含义就是亮度它含了灰度图(grayscale)的所有信息,只用 Y 分量就完全能够表示出一幅灰度图来YUV 和RGB 之间有着如下的对应关系:
再来看看带调色板的彩色图,我们知道位图中的数据只是对应调色板中的一个索引值我们只需要将调色板中的彩色变成灰度,形成新调色板而位图数据不用动,就可以了
以上解释来自于:《数字图像处理编程入门》,代码参考:
//将24位真彩图灰度化并保存
//修改文件头,其中有兩项需要修改分别为bfSize和bfOffBits
//修改信息头,其中有两项需要修改1个位biBitCount:真彩图为24 ,应改成8;另一个是biSizeImage:由于每像素所占位数的变化所以位图数據的大小发生变化
实验结果分析:真彩色图不带调色板,而灰度图的调色板为256级所以在修改调色板时需要将RGB三个分量修改为256级,根据YUV颜銫空间中Y分量计算
后续持续更新用c语言错误c4518实现图像处理算法,敬请期待欢迎关注。
配置路径:工具-》选项-》项目-》VC++目录下拉项目选“库文件”,将上面的路径加上
你对这个回答的評价是?
你的c语言错误c4518的开发环境是什么
另外右击c语言错误c4518的开发环境,以管理员身份运行了看看是否正常
你对这个回答的评价是?
伱这情况从文字描述上不太好说是哪方面问题
我建议你要不先下个腾讯电脑管家。
先做个全面体检如果是系统文件或设置方面的问题,那通过体检应该是可以修复的:
打开腾讯电脑管家。。全面体检
你对这个回答的评价是