日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

c语言 bmp白底黑字,用c语言把bmp格式的彩色图片转换成黑白的

發(fā)布時(shí)間:2024/8/5 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 c语言 bmp白底黑字,用c语言把bmp格式的彩色图片转换成黑白的 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

該樓層疑似違規(guī)已被系統(tǒng)折疊?隱藏此樓查看此樓

#include

#include

#include

typedef unsigned char BYTE;

#define RGB 3.0

#define MAX 255.0

struct BitMap

{

short Type;

long Size;

short Reserve1;

short Reserve2;

long Offset;

long FileSize;

long Width;

long Height;

short ClrPlanes;

short BitsPerPix;

long Compression;

long ImSize;

long XPixPerMeter;

long YPixPerMeter;

long ClrTBClr;

long ImpClr;

} Header;

typedef struct

{

BYTE Blue;

BYTE Green;

BYTE Red;

} __attribute__((__packed__))

RGBTRIPLE;

int main(int argc, char **argv) {

FILE *inptr, *outptr;

float threshold;

threshold = atoi(argv[2]);

if(argc < 3) {

printf("Usage : ./a.out threshold\n");

exit(0);

}

else inptr = fopen(argv[1], "rb");

outptr = fopen ("out.bmp", "wb");

memset(&Header, 0, sizeof(Header));

fread(&Header.Type, 2, 1, inptr);

fwrite(&Header.Type, 2, 1, outptr);

fread(&Header.Size, 4, 1, inptr);

fwrite(&Header.Size, 4, 1, outptr);

fread(&Header.Reserve1, 2, 1, inptr);

fwrite(&Header.Reserve1, 2, 1, outptr);

fread(&Header.Reserve2, 2, 1, inptr);

fwrite(&Header.Reserve2, 2, 1, outptr);

fread(&Header.Offset, 4, 1, inptr);

fwrite(&Header.Offset, 4, 1, outptr);

fread(&Header.FileSize, 4, 1, inptr);

fwrite(&Header.FileSize, 4, 1, outptr);

fread(&Header.Width, 4, 1, inptr);

fwrite(&Header.Width, 4, 1, outptr);

fread(&Header.Height, 4, 1, inptr);

fwrite(&Header.Height, 4, 1, outptr);

fread(&Header.ClrPlanes, 2, 1, inptr);

fwrite(&Header.ClrPlanes, 2, 1, outptr);

fread(&Header.BitsPerPix, 2, 1, inptr);

fwrite(&Header.BitsPerPix, 2, 1, outptr);

fread(&Header.Compression, 4, 1, inptr);

fwrite(&Header.Compression, 4, 1, outptr);

fread(&Header.ImSize, 4, 1, inptr);

fwrite(&Header.ImSize, 4, 1, outptr);

fread(&Header.XPixPerMeter, 4, 1, inptr);

fwrite(&Header.XPixPerMeter, 4, 1, outptr);

fread(&Header.YPixPerMeter, 4, 1, inptr);

fwrite(&Header.YPixPerMeter, 4, 1, outptr);

fread(&Header.ClrTBClr, 4, 1, inptr);

fwrite(&Header.ClrTBClr, 4, 1, outptr);

fread(&Header.ImpClr, 4, 1, inptr);

fwrite(&Header.ImpClr, 4, 1, outptr);

// iterate over infile's scanlines

int i,j;

if (Header.Compression!=24) {

printf("Error: This program only deals with 24 compressed bmp file\n");

return 1;

}

if (threshold <0 || threshold >1.0) {

printf("Error: Threshold value is not valid\n");

return 1;

}

else for (i=0; i

{

// iterate over pixels in scanline

for (j=0; j

{

// temporary storage

RGBTRIPLE triple, tripleout;

int sum = 0;

// read RGB triple from infile

fread(&triple, sizeof(RGBTRIPLE), 1, inptr);

sum = triple.Red+triple.Green+triple.Blue;

float ratio = sum/(RGB*MAX);

printf("(%d, %d, %d)\n", triple.Red, triple.Green, triple.Blue);

// prints rgb values for each pixel (used to check if the colours were right)

printf("ratio is: %f\n", ratio);

// gives the ratio

if (ratio

tripleout.Red = 0;

tripleout.Green = 0;

tripleout.Blue = 0;

}

// this part needs to be done

else {

tripleout.Red = 255;

tripleout.Green = 255;

tripleout.Blue = 255;

}

// write RGB triple to outfile

fwrite(&tripleout, sizeof(RGBTRIPLE), 1, outptr);

}

}

fclose(inptr);

fclose(outptr);

return 0;

}

/* To use compile: gcc -Wall -o check2 check2.c

After compiling

./check filename.bmp thresholdvalue

*/

總結(jié)

以上是生活随笔為你收集整理的c语言 bmp白底黑字,用c语言把bmp格式的彩色图片转换成黑白的的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 91久久一区二区 | 粉嫩av懂色av蜜臀av分享 | 黄色福利视频 | 99爱这里只有精品 | 精品人妻无码专区在线 | 熟妇的味道hd中文字幕 | 99riav国产精品 | 99插插插| 一区=区三区乱码 | 强公把我次次高潮hd | 草莓视频18免费观看 | 国产中年熟女高潮大集合 | 日韩视频免费在线 | 无码人妻久久一区二区三区不卡 | 毛片免| 日本久久99 | 欧美色图视频在线 | 伊人久久一区 | 久久91亚洲| 亚洲免费网站 | 91综合视频 | 国产最新精品视频 | 黄在线视频 | 亚洲男人第一av | 91成人在线免费 | 潘甜甜在线 | av首页在线| 亚洲精品免费在线 | 亚洲a∨无码无在线观看 | 欧美美女性高潮 | 亚洲免费视频一区二区三区 | 亚洲国产精品视频在线观看 | 亚洲精品乱码久久久久久日本蜜臀 | 亚洲精品成 | 日韩人妻一区二区三区 | 日本亚洲精品 | 一区二区三区韩国 | 国产精品一区二区在线免费观看 | 六月婷婷综合 | 一区二区三区视频播放 | a级片在线免费观看 | av在线专区 | 97人人插| 不卡一区二区在线视频 | 欧美久久久久久久久中文字幕 | 一区二区三区人妻 | 人妻巨大乳hd免费看 | 色综合网站 | av在线资源播放 | 国产精品国产三级国产Av车上的 | 一本久久久 | 少妇一级淫片免费放2 | 欧美群妇大交乱 | 中文字幕一区二区三区免费视频 | 强开小受嫩苞第一次免费视频 | 亚洲AV成人无码精品久久盆瓶 | 亚洲欧美色视频 | 中文有码在线 | 中国精品毛片 | 91黄色入口 | 欧美一区中文字幕 | 啪啪网免费 | 欧美性生话 | 国产欧美日韩综合精品一区二区 | 人妻少妇一区二区三区 | 久久精品导航 | 日日鲁鲁鲁夜夜爽爽狠狠视频97 | 日韩视频在线观看视频 | 97久久人人超碰caoprom欧美 | 国产乱码一区二区 | 国产免费av一区二区三区 | 黄色国产毛片 | 久久国产精品系列 | 丰满人妻翻云覆雨呻吟视频 | 韩国电影大尺度在线观看 | 亚洲视频网址 | 亚洲一区免费在线观看 | 91视频看看 | 五月婷婷中文 | 欧美影院一区二区 | 捆绑无遮挡打光屁股 | 色狗网站| 国产综合在线播放 | 国产精品老熟女一区二区 | 国产精品黄色大片 | 国产又粗又猛又爽又黄视频 | 久久久久久亚洲中文字幕无码 | 日韩综合一区二区三区 | 午夜激情婷婷 | 中文亚洲欧美 | 波多野结衣视频免费 | jizz成熟丰满日本少妇 | 天堂中文资源在线 | 中文字幕一二三四区 | av资源网在线 | 国产婷婷精品 | 久久久久中文字幕亚洲精品 | 欧美日韩乱国产 | 黄色成人在线视频 |