91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 2.13MB
    文件類型: .rar
    金幣: 2
    下載: 0 次
    發(fā)布日期: 2023-09-14
  • 語(yǔ)言: C/C++
  • 標(biāo)簽: bmp??工具??

資源簡(jiǎn)介

bmp24位彩色圖像轉(zhuǎn)8位灰度圖像,純C++語(yǔ)言實(shí)現(xiàn),適合圖片處理初學(xué)者。

資源截圖

代碼片段和文件信息

#include?
#include?
using?namespace?std;

#pragma?pack(2)????????//兩字節(jié)對(duì)齊,否則bmp_fileheader會(huì)占16Byte
struct?bmp_fileheader
{
unsigned?short????bfType;????????//若不對(duì)齊,這個(gè)會(huì)占4Byte
unsigned?long????bfSize;
unsigned?short????bfReverved1;
unsigned?short????bfReverved2;
unsigned?long????bfOffBits;
};

struct?bmp_infoheader
{
unsigned?long????biSize;
unsigned?long????biWidth;
unsigned?long????biHeight;
unsigned?short????biPlanes;
unsigned?short????biBitCount;
unsigned?long????biCompression;
unsigned?long????biSizeImage;
unsigned?long????biXPelsPerMeter;
unsigned?long????biYpelsPerMeter;
unsigned?long????biClrUsed;
unsigned?long????biClrImportant;
};

fstream?input_file;
fstream?output_file;

struct?bmp_fileheader?bfh;
struct?bmp_infoheader?bih;

unsigned?char?*src_buff;
unsigned?char?*dst_buff;

void?read_bmp_fileheader()
{

input_file.read((char*)&bfh?sizeof(struct?bmp_fileheader));

cout?<
}

void?read_bmp_infoheader()
{

input_file.read((char*)&bih?sizeof(struct?bmp_infoheader));

}

void?read_bmp_data()
{
src_buff?=?new?unsigned?char[bih.biHeight*bih.biWidth?*?3];

input_file.read((char*)src_buff?sizeof(unsigned?char)*bih.biHeight*bih.biWidth?*?3);

}

void?bmp_rgb2gray()
{
dst_buff?=?new?unsigned?char[bih.biHeight*bih.biWidth];
int?tmp;
unsigned?long?j?=?0;
for?(unsigned?long?i?=?0;?i {
tmp?=?(src_buff[i]?+?src_buff[i?+?1]?+?src_buff[i?+?2])?/?3;
dst_buff[j++]?=?(unsigned?char)tmp;
}
}

void?write_bmp_fileheader()
{

bfh.bfSize?=?bfh.bfOffBits?+?256?*?4?+?bih.biWidth*bih.biHeight;????????//256*4是調(diào)色板占的字節(jié)數(shù)
bfh.bfOffBits?=?bfh.bfOffBits?+?256?*?4;

output_file.write((char*)&bfh?sizeof(struct?bmp_fileheader));

}

void?write_bmp_infoheader()
{
bih.biBitCount?=?8;????????????//8位灰度圖

output_file.write((char*)&bih?sizeof(struct?bmp_infoheader));
}

void?write_bmp_paltte()????????//灰度圖像需要調(diào)色板
{
unsigned?char?j?=?0;
unsigned?char?z?=?0;
for?(int?i?=?0;?i<1024;?i?+=?4)
{
output_file.write((char*)&j?sizeof(unsigned?char));
output_file.write((char*)&j?sizeof(unsigned?char));
output_file.write((char*)&j?sizeof(unsigned?char));

output_file.write((char*)&z?sizeof(unsigned?char));
j++;
}
}

void?write_bmp_data()
{

output_file.write((char*)dst_buff?sizeof(unsigned?char)*bih.biWidth*bih.biHeight);

}

int?main()
{
input_file.open(“test.bmp“?ios::binary?|?ios::in);
output_file.open(“test_gray.bmp“?ios::binary?|?ios::out);

read_bmp_fileheader();
read_bmp_infoheader();
read_bmp_data();

bmp_rgb2gray();

write_bmp_fileheader();
write_bmp_infoheader();
write_bmp_paltte();
write_bmp_data();

input_file.close();
output_file.close();

cout?< cin.get();

delete[]?src_buff;
delete[]?dst_buff;
return?0;
}

?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----

????..A..H.?????35840??2018-03-05?18:22??bmpTools\.vs\bmpTools\v14\.suo

?????文件???????7378??2018-03-05?14:14??bmpTools\bmpTools\bmpTools.vcxproj

?????文件????????948??2018-03-05?14:14??bmpTools\bmpTools\bmpTools.vcxproj.filters

?????文件????????192??2018-03-05?14:23??bmpTools\bmpTools\Debug\bmpTools.log

?????文件????????207??2018-03-05?14:23??bmpTools\bmpTools\Debug\bmpTools.tlog\bmpTools.lastbuildstate

?????文件????????678??2018-03-05?14:23??bmpTools\bmpTools\Debug\bmpTools.tlog\CL.command.1.tlog

?????文件??????15884??2018-03-05?14:23??bmpTools\bmpTools\Debug\bmpTools.tlog\CL.read.1.tlog

?????文件????????524??2018-03-05?14:23??bmpTools\bmpTools\Debug\bmpTools.tlog\CL.write.1.tlog

?????文件???????1194??2018-03-05?14:23??bmpTools\bmpTools\Debug\bmpTools.tlog\link.command.1.tlog

?????文件???????2890??2018-03-05?14:23??bmpTools\bmpTools\Debug\bmpTools.tlog\link.read.1.tlog

?????文件????????502??2018-03-05?14:23??bmpTools\bmpTools\Debug\bmpTools.tlog\link.write.1.tlog

?????文件?????255055??2018-03-05?14:23??bmpTools\bmpTools\Debug\main.obj

?????文件?????338944??2018-03-05?14:23??bmpTools\bmpTools\Debug\vc140.idb

?????文件?????364544??2018-03-05?14:23??bmpTools\bmpTools\Debug\vc140.pdb

?????文件???????3023??2018-03-05?14:23??bmpTools\bmpTools\main.cpp

?????文件???????1306??2018-03-05?11:32??bmpTools\bmpTools.sln

?????文件????8364032??2018-03-05?18:22??bmpTools\bmpTools.VC.db

?????文件?????104960??2018-03-05?14:23??bmpTools\Debug\bmpTools.exe

?????文件?????754900??2018-03-05?14:23??bmpTools\Debug\bmpTools.ilk

?????文件????1265664??2018-03-05?14:23??bmpTools\Debug\bmpTools.pdb

?????目錄??????????0??2018-03-06?10:52??bmpTools\.vs\bmpTools\v14

?????目錄??????????0??2018-03-06?10:52??bmpTools\bmpTools\Debug\bmpTools.tlog

?????目錄??????????0??2018-03-06?10:52??bmpTools\.vs\bmpTools

?????目錄??????????0??2018-03-06?10:52??bmpTools\bmpTools\Debug

????...D.H.?????????0??2018-03-06?10:52??bmpTools\.vs

?????目錄??????????0??2018-03-06?10:52??bmpTools\bmpTools

?????目錄??????????0??2018-03-06?10:52??bmpTools\Debug

?????目錄??????????0??2018-03-06?10:52??bmpTools

-----------?---------??----------?-----??----

?????????????11518665????????????????????28

............此處省略1個(gè)文件信息

評(píng)論

共有 條評(píng)論