最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

c++圖像處理:24位真彩圖顏色變換實例

 更新時間:2017年01月10日 10:42:02   投稿:jingxian  
下面小編就為大家?guī)硪黄猚++圖像處理:24位真彩圖顏色變換實例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

實例如下:

#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位真彩圖顏色變換實例就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

  • Qt5實現(xiàn)文本編輯器(附詳細代碼)

    Qt5實現(xiàn)文本編輯器(附詳細代碼)

    QT是一個跨平臺的GUI開發(fā)框架,我使用的QT5 C++版本的,本文主要介紹了Qt5實現(xiàn)文本編輯器,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-07-07
  • 淺談在函數(shù)中返回動態(tài)的內(nèi)存

    淺談在函數(shù)中返回動態(tài)的內(nèi)存

    下面小編就為大家?guī)硪黄獪\談在函數(shù)中返回動態(tài)的內(nèi)存。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-12-12
  • C++JSON庫CJsonObject詳解(輕量簡單好用)

    C++JSON庫CJsonObject詳解(輕量簡單好用)

    CJsonObject是基于cJSON全新開發(fā)一個C++版的JSON庫,CJsonObject的最大優(yōu)勢是輕量簡單好用,開發(fā)效率極高,對多層嵌套json的讀取和生成使用非常簡單,喜歡的朋友一起看看吧
    2021-04-04
  • C++使用windwos?api實現(xiàn)獲取計算機基本信息

    C++使用windwos?api實現(xiàn)獲取計算機基本信息

    這篇文章主要為大家詳細介紹了C++如何使用windwos?api實現(xiàn)獲取windwos計算機的基本信息,包括計算機名稱、操作系統(tǒng)版本、處理器信息等,需要的可以參考一下
    2023-04-04
  • 詳解C/C++如何發(fā)送與接收Kafka消息

    詳解C/C++如何發(fā)送與接收Kafka消息

    系統(tǒng)之間通信方式很多如:系統(tǒng)之間調(diào)用(http/rpc等),異步間接調(diào)用如發(fā)送消息、公共存儲等,算法工程為C/C++工程,本文將介紹如何在C/C++中如何發(fā)送與接收Kakfa消息(包含:Kafka的SASL認證方式),并提供了詳細的源碼和講解,需要的朋友可以參考下
    2024-07-07
  • C語言通過gets和gets_s分別實現(xiàn)讀取含空格的字符串

    C語言通過gets和gets_s分別實現(xiàn)讀取含空格的字符串

    在遇到包含空格的字符串輸入時該如何讀取呢?如果使用scanf以%s格式去讀取輸入的字符串,遇到空格就讀取結束了,顯然這樣是讀取不了的。本文就將介紹兩個可以對含空格字符串讀取的庫函數(shù)------gets和gets_s函數(shù),感興趣的可以了解一下
    2021-12-12
  • C++ vtordisp的應用場景分析

    C++ vtordisp的應用場景分析

    文章介紹了C++中的vtordisp機制,用于在虛繼承和虛函數(shù)結合的場景下,確保構造函數(shù)和析構函數(shù)中對虛基類指針的正確調(diào)整,文章詳細解釋了vtordisp的基本概念、應用場景以及編譯器相關的考慮,感興趣的朋友一起看看吧
    2025-01-01
  • C++計算任意兩個日期天數(shù)差的方法詳解

    C++計算任意兩個日期天數(shù)差的方法詳解

    這篇文章主要為大家詳細介紹了如何利用C++實現(xiàn)任意兩個日期天數(shù)差,文中的示例代碼講解詳細,具有一定的借鑒價值,有需要的小伙伴可以參考一下
    2024-02-02
  • C++中智能指針最常用的shared_ptr和unique_ptr

    C++中智能指針最常用的shared_ptr和unique_ptr

    C++中的智能指針最常用的是shared_ptr和unique_ptr,C++新手最常問的問題是我從一個函數(shù)中拿到unique_ptr,但要轉成shared_ptr才能使用,要怎么轉換?同理是否能將shared_ptr轉換成unique_ptr,面對這些問題,跟隨小編一起看看吧
    2022-08-08
  • 最新評論

    天津市| 肥东县| 乌拉特后旗| 黑龙江省| 金寨县| 微博| 常州市| 莱芜市| 秀山| 宁海县| 利辛县| 宁化县| 高淳县| 博野县| 临夏市| 通江县| 柘城县| 监利县| 四平市| 深水埗区| 定安县| 上犹县| 潢川县| 唐海县| 衡东县| 高碑店市| 五家渠市| 广昌县| 丁青县| 克山县| 白河县| 肇东市| 海南省| 武陟县| 金坛市| 固始县| 乐都县| 新化县| 达尔| 通榆县| 孝感市|