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

  • 大小: 1.9MB
    文件類型: .zip
    金幣: 2
    下載: 0 次
    發(fā)布日期: 2023-11-17
  • 語言: 其他
  • 標(biāo)簽: Linux??STM32??

資源簡介

文件中包含未轉(zhuǎn)化的RGB565格式文件 tu0 tu1等(750KB)文件 同學(xué)們可以自己轉(zhuǎn)換,也有轉(zhuǎn)化好的文件(1126KB) 可執(zhí)行文件a.out 原代碼是rgb2bmp.c 和rgb2bmp.h 無BUG ,RGB565格式文件是從 某火的429開發(fā)板從液晶屏上截取的圖像,該圖像是從攝像頭中拍下來的。

資源截圖

代碼片段和文件信息

#include
#include
#include
#include“rgb2bmp.h“

int?RGB2BMP(char?*int?int?FILE?*);

int?main(int?argcchar?*argv[]){

double??num_tmp?=?0;

FILE?*p;
/***************??input?data??***********
filename??????:RGB數(shù)據(jù)文件名稱
nWidth????????:所生成文件的水平像素
nHeight???????:所生成文件的垂直像素
newFile???????:最終生成文件的名稱
**********************************************/
size_t?read_size;
size_t?write_size;
printf(“argv[1]=?%s\n“argv[1]);
printf(“argv[2]=?%s\n“argv[2]);
char?*?filename?=?“rgb565_800_480_woman“;
int?nWidth?=?800;
int?nHeight?=?480;
char?*newFile?=?“rgb565_800_480_woman_0x7f.bmp“;
if(argc!=3){
printf(“Usage:./a.out??\n“);
return?-1;
}
filename?=?argv[1];
newFile?=?argv[2];
p?=?fopen(filename“rb“);
if(?p?==?NULL){
printf(“open?file?%s?error?\n“filename);
return?0;
}
printf(“open?file?%s?success\n“filename);
/***************?read?Image?Data?**********/
long?nData?=?nWidth?*nHeight;
unsigned?short?*?rgb_buffer?=?malloc(nData?*?sizeof(short));
//read_size?=?fread(rgb_buffer2nDatap);
//printf(“rgb_buffer[384000]?=?%d\n“*(rgb_buffer+383980));
read_size?=?fread(rgb_buffer2384000p);
//printf(“rgb_buffer[384000]?=?%d\n“*(rgb_buffer+383980));

printf(“fread?讀取到的字節(jié)數(shù)是 %ld\n“read_size);
unsigned?long?total?=?nWidth*nHeight*3;
unsigned?char?*pVisit?=?malloc(total*sizeof(char));
unsigned?char?*tmp?=?pVisit;
long?i?=?0;
unsigned?char?RGB;
unsigned?short?*free1=?rgb_buffer;
unsigned?char?*free2=?pVisit;
while(i R?=?*rgb_buffer&0x1f;
G?=?(*rgb_buffer>>5)&0x3f;
B?=?(*rgb_buffer>>11)&0x1f;
/*
B<<3;
G<<2;
R<<3;
*/
num_tmp?=?R;
num_tmp/=?31;
R?=?num_tmp?*?255;?

num_tmp?=?G;
num_tmp/=?63;
G?=?num_tmp?*?255;?

num_tmp?=?B;
num_tmp/=?31;
B?=?num_tmp?*?255;?

*pVisit?=?R;pVisit++;
*pVisit?=?G;pVisit++;
*pVisit?=?B;pVisit++;
rgb_buffer++;
i++;
}
//free(free1);
printf(“read?file?over.?nData?=?%ld\n“nData);
fclose(p);
p?=?NULL;
/*************************************/
/****************?write?file?*********/

FILE?*result?=?fopen(newFile“wb“);
if(result?==?NULL){
printf(“open?new?file?failed“);
return?-1;
}
RGB2BMP(tmpnWidthnHeightresult);
printf(“total?=?%ld\n“total);
/*
write_size?=??fwrite(((char?*)pVisit)1total/3result);
printf(“write_size?=?%ld?\n“write_size);
write_size?=??fwrite(((char?*)pVisit)+total/31total/3result);
printf(“write_size?=?%ld?\n“write_size);
write_size?=??fwrite(((char?*)pVisit)+total/3*21total/3result);
*/
write_size?=??fwrite(free211152000result);
printf(“write_size?=?%ld?\n“write_size);
/*
write_size?=??fwrite(pVisit+7520001500000result);
printf(“write_size?=?%ld?\n“write_size);
*/
fclose(result);
result?=?NULL;
free(free2);
return?0;
}

int?RGB2BMP(char?*rgb_bufferint?nWidthint?nHeightFILE?*fp1){
BmpHead?m_BMPHeader;
char?bfType[2]?=?{‘B‘‘M‘};
m_BMPHeader.imageSize?=?3*nWidth*nHeight?+?54;
m_BMPHeader.blank=0;
m_BMPHeader.startP

?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2018-07-03?08:47??RGB2\
?????文件???????16384??2018-07-03?08:12??RGB2\.rgb2bmp.c.swp
?????文件???????13152??2018-06-05?17:25??RGB2\a.out
?????文件????????4602??2018-06-28?16:29??RGB2\rgb2bmp.c
?????文件????????2851??2018-05-14?14:11??RGB2\rgb2bmp.h
?????文件?????1152054??2018-06-05?17:34??RGB2\test.bmp
?????文件?????????314??2018-06-05?17:24??RGB2\tt.c
?????文件??????768000??2015-01-01?00:00??RGB2\tu0
?????文件??????768000??2015-01-01?00:00??RGB2\tu1
?????文件??????768000??2015-01-01?00:00??RGB2\tu2
?????文件?????1152054??2018-06-13?15:32??RGB2\zzz.bmp
?????文件??????768000??2018-06-13?15:31??RGB2\zzz.txt

評論

共有 條評論