C语言如何实现24位彩色图像二值化
发表于:2025-02-06 作者:千家信息网编辑
千家信息网最后更新 2025年02月06日,这篇文章将为大家详细讲解有关C语言如何实现24位彩色图像二值化,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。具体内容如下// huiduhua.cpp : 定义控制
千家信息网最后更新 2025年02月06日C语言如何实现24位彩色图像二值化
这篇文章将为大家详细讲解有关C语言如何实现24位彩色图像二值化,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
具体内容如下
// huiduhua.cpp : 定义控制台应用程序的入口点。// #include "stdafx.h"#include#include int _tmain(int argc, _TCHAR* argv[]){ BITMAPFILEHEADER bfhead; BITMAPINFOHEADER bihead; RGBQUAD *pColorTable; unsigned char *pBmpBuf; FILE *fp1=fopen("鼠.bmp","rb"); if(fp1==0) return 0; fread(&bfhead,14,1,fp1); //将文件头读入内存 fread(&bihead,40,1,fp1); //将信息头读入内存 int LineByte=(bihead.biWidth*24/8+3)/4*4; //保证每行字节数为4的整数倍 pBmpBuf=new unsigned char[LineByte*bihead.biHeight]; //为数据区分配内存空间 fread(pBmpBuf,LineByte*bihead.biHeight,1,fp1); //将bmp数据区读入内存 fclose(fp1); printf("Width:%d, Height: %d,biBitCount:%d\n",bihead.biWidth,bihead.biHeight,bihead.biBitCount); //现将真彩图灰度化 int LineByte1=(bihead.biWidth*8/8+3)/4*4; //由于灰度化后每像素位数变为8,所以每行字节数发生改变,但仍要求为4的整数倍 FILE *fp2=fopen("鼠2.bmp","wb"); if(fp2==0) return 0; //更改文件头,并将其保存 bfhead.bfSize=14+40+sizeof(RGBQUAD)*256+LineByte1*bihead.biHeight; //更改文件大小 bfhead.bfOffBits=14+40+sizeof(RGBQUAD)*256; //更改偏移值 fwrite(&bfhead,14,1,fp2); //更改信息头并将其保存 bihead.biBitCount=8; //更改每像素位数 bihead.biSizeImage=LineByte1*bihead.biHeight; //更改数据区大小 fwrite(&bihead,40,1,fp2); //因为灰度化图像有颜色表,所以创建颜色表并保存 pColorTable=new RGBQUAD[256]; for(int i=0;i<256;i++) pColorTable[i].rgbRed = pColorTable[i].rgbGreen = pColorTable[i].rgbBlue = i;//使颜色表中每种颜色的R,G,B分量相等且等于索引值 fwrite(pColorTable,sizeof(RGBQUAD),256,fp2); //改变数据区 unsigned char *pBmpBuf1; pBmpBuf1=new unsigned char[LineByte1*bihead.biHeight]; for(int i=0;i
关于"C语言如何实现24位彩色图像二值化"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。
像素
灰度
图像
内存
数据
颜色
平均值
文件
篇文章
彩色
语言
个数
位数
信息
内容
大小
字节
整数
方法
更多
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
北京刀魂网络技术公司
db2数据库的索引设计
德州中兴网络技术有限公司
网络技术与软件技术哪个好
vb数据库电子书
银川软件开发专业价格
网络安全绿色上网的演讲稿
程序代码连接数据库问题
教育网服务器托管
船舶网络安全专家
二手笔记本软件开发
it软件开发需要什么学历
数据库mysql怎么变成sql
网络锁服务器管理
加推软件开发
黄浦区口碑好的软件开发是真的吗
网络安全的防范措施主要有哪些
互联网高科技集团
数据库运维面试会问什么
统计学数据库怎么创建
请假审批数据库设计
开启网络安全智能时代
做软件开发涉嫌诈骗被拘留
南京云问网络技术怎么样
时序数据库建立
芜湖代驾app软件开发费用
图书馆网络安全问题总结
腾讯如何管理软件开发
我的世界服务器个人地址格式示例
网络安全与执法专业简历