全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

c++图像处理:24位真彩图颜色变换实例

实例如下:

#include<iostream>
#include<Windows.h>
using namespace std;

bool isred(BYTE r,BYTE g,byte b){
	if(r>g&&r>b) return true;
	else return false;
}
void red2green(BYTE& r,BYTE& g,BYTE& b){
	BYTE tmp=r;
	r=g;
	g=tmp;
}

int main(){
	FILE *fpin=fopen("flo.bmp","rb+");
	if(fpin==NULL){
		cout<<"目录里没有输入图"<<endl;
		system("pause");
		return 0;
	}
	BITMAPFILEHEADER bitmapfileheader;
	BITMAPINFOHEADER bitmapinfoheader;
	fread(&bitmapfileheader,sizeof(bitmapfileheader),1,fpin);
	fread(&bitmapinfoheader,sizeof(bitmapinfoheader),1,fpin);

	if(bitmapfileheader.bfType!='B'+'M'*256){
		cout<<"不是bmp格式"<<endl;
		fclose(fpin);
		system("pause");
		return 0;
	}
	if(bitmapinfoheader.biBitCount!=24){
		cout<<"不是24位bmp"<<endl;
		fclose(fpin);
		system("pause");
		return 0;
	}


	//设置fpout
	FILE *fpout=fopen("output.bmp","wb+");

	//BITMAPFILEHEADER bitmapfileheader2;
	//BITMAPINFOHEADER bitmapinfoheader2;
	//bitmapfileheader2=bitmapfileheader;
	//bitmapinfoheader2=bitmapinfoheader;
	fwrite(&bitmapfileheader,sizeof(bitmapfileheader),1,fpout);
	fwrite(&bitmapinfoheader,sizeof(bitmapinfoheader),1,fpout);



	if(bitmapinfoheader.biClrUsed!=0){
		cout<<"是索引图"<<endl;
		system("pause");
		return 0;
	}
	if(bitmapinfoheader.biBitCount==24){
		cout<<"24位真彩图"<<endl;
		//int line_width=((bitmapinfoheader.biWidth*bitmapinfoheader.biBitCount+24)/32)*4;
		int line_width=bitmapinfoheader.biWidth*3;
		BYTE *line_buf=new BYTE[line_width];
		for(int i=0;i<bitmapinfoheader.biHeight;i++){
			fread(line_buf,line_width,1,fpin);			
			for(int j=0;j<bitmapinfoheader.biWidth;j++){
				BYTE b=line_buf[3*j];
				BYTE g=line_buf[3*j+1];
				BYTE r=line_buf[3*j+2];
				if(isred(r,g,b)){
					red2green(line_buf[3*j+2],line_buf[3*j+1],line_buf[3*j]);
				}
			}	
			fwrite(line_buf,line_width,1,fpout);
		}
		fclose(fpin);
		fclose(fpout);
		delete []line_buf;
		cout<<"红变绿完成"<<endl;
	}
	
	system("pause");
	return 0;
}

以上这篇c++图像处理:24位真彩图颜色变换实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。


# c++  # 图像处理  # 24位真彩  # VC++中图像处理类CBitmap的用法  # C++ HLSL实现简单的图像处理功能  # 给大家  # 希望能  # 这篇  # 小编  # 大家多多  # BYTE  # isred  # amp 


相关文章: 建站之星导航配置指南:自助建站与SEO优化全解析  制作企业网站建设方案,怎样建设一个公司网站?  建站主机CVM配置优化、SEO策略与性能提升指南  沈阳制作网站公司排名,沈阳装饰协会官方网站?  早安海报制作网站推荐大全,企业早安海报怎么每天更换?  关于BootStrap modal 在IOS9中不能弹出的解决方法(IOS 9 bootstrap modal ios 9 noticework)  网站建设制作需要多少钱费用,自己做一个网站要多少钱,模板一般多少钱?  详解免费开源的DotNet二维码操作组件ThoughtWorks.QRCode(.NET组件介绍之四)  Swift开发中switch语句值绑定模式  商务网站制作工程师,从哪几个方面把握电子商务网站主页和页面的特色设计?  如何选择长沙网站建站模板?H5响应式与品牌定制哪个更优?  如何通过FTP空间快速搭建安全高效网站?  动图在线制作网站有哪些,滑动动图图集怎么做?  黑客入侵网站服务器的常见手法有哪些?  名字制作网站免费,所有小说网站的名字?  外贸公司网站制作哪家好,maersk船公司官网?  测试制作网站有哪些,测试性取向的权威测试或者网站?  做企业网站制作流程,企业网站制作基本流程有哪些?  网站设计制作企业有哪些,抖音官网主页怎么设置?  制作网站的网址是什么,请问后缀为.com和.com.cn还有.cn的这三种网站是分别是什么类型的网站?  香港服务器网站测试全流程:性能评估、SEO加载与移动适配优化  建站之星IIS配置教程:代码生成技巧与站点搭建指南  宝盒自助建站智能生成技巧:SEO优化与关键词设置指南  建站主机是什么?如何选择适合的建站主机?  淘宝制作网站有哪些,淘宝网官网主页?  制作农业网站的软件,比较好的农业网站推荐一下?  如何用低价快速搭建高质量网站?  制作销售网站教学视频,销售网站有哪些?  西安大型网站制作公司,西安招聘网站最好的是哪个?  网站制作知乎推荐,想做自己的网站用什么工具比较好?  厦门模型网站设计制作公司,厦门航空飞机模型掉色怎么办?  网站企业制作流程,用什么语言做企业网站比较好?  浙江网站制作公司有哪些,浙江栢塑信息技术有限公司定制网站做的怎么样?  TestNG的testng.xml配置文件怎么写  成都网站制作价格表,现在成都广电的单独网络宽带有多少的,资费是什么情况呢?  青岛网站建设如何选择本地服务器?  网站制作公司哪里好做,成都网站制作公司哪家做得比较好,更正规?  如何通过WDCP绑定主域名及创建子域名站点?  建站VPS能否同时实现高效与安全翻墙?  ui设计制作网站有哪些,手机UI设计网址吗?  小型网站建站如何选择虚拟主机?  网页设计与网站制作内容,怎样注册网站?  如何在建站主机中优化服务器配置?  如何通过网站建站时间优化SEO与用户体验?  如何通过二级域名建站提升品牌影响力?  微信小程序 五星评分(包括半颗星评分)实例代码  定制建站流程解析:需求评估与SEO优化功能开发指南  制作网站的基本流程,设计网站的软件是什么?  网站制作和推广的区别,想自己建立一个网站做推广,有什么快捷方法马上做好一个网站?  C#如何序列化对象为XML XmlSerializer用法 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。