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

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

概述实例如下:#include<iostream>#include<Windows.h>usingnamespacestd;boolisred(BYTEr,BYTEg,byteb){

实例如下:

#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),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,fpout);	fwrite(&bitmAPInfoheader,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,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,fpout);		}		fclose(fpin);		fclose(fpout);		delete []line_buf;		cout<<"红变绿完成"<<endl;	}		system("pause");	return 0;}

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

总结

以上是内存溢出为你收集整理的c++图像处理:24位真彩图颜色变换实例全部内容,希望文章能够帮你解决c++图像处理:24位真彩图颜色变换实例所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1245541.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-07
下一篇 2022-06-07

发表评论

登录后才能评论

评论列表(0条)

保存