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

  • 大小: 583KB
    文件類型: .rar
    金幣: 2
    下載: 0 次
    發布日期: 2023-12-19
  • 語言: 其他
  • 標簽: RawtoBmp??Raw轉Bmp??

資源簡介

程序功能: 簡單"(8bit)Raw圖像文件轉換為(RGB24)Bmp圖像文件"演示. 程序說明: 此程序只適合8bit的Raw圖像文件轉換, 如果是為10bit或12bit等, 請自己修改程序. "測試圖片"文件夾中提供了"8bitRaw圖像文件"以及"轉換后的Bmp文件".

資源截圖

代碼片段和文件信息

/********************************************************************
created: 2010/04/06
created: 6:4:2010???18:00
filename:? RawToBmp.cpp
file?path: RAW8ToRGB24
file?base: RawToBmp
file?ext: cpp
author: haifeng_liu

purpose: 簡單“(8bit)Raw圖像文件轉換為(RGB24)Bmp圖像文件“演示
*********************************************************************/

#include?
#include?
#include?
#include?


#define?H?480 //?定義要轉換圖像行數
#define?W?640 //?定義要轉換圖像列數

//?注:?在將Flag?設置為0之前?請自己實現
//?void?RGB24_GeomMir(?BYTE?*pImage?const?UINT?iHeigh?const?UINT?iWidth?BOOL?bDirection?)
//?這個函數
//?Flag?==?1?則以像素點(包含RGB三個分量)為單位進行操作
//?Flag?==?0?則分別以R?G?B分量為單位進行操作
#define?Flag?1

typedef?enum?{?
B //?定義Raw數據中Blue?Data
Gb //?定義Raw數據中Green?Data
Gr //?定義Raw數據中Green?Data
R //?定義Raw數據中Red?Data
}?ColorType;

typedef?struct?{
BYTE?byB;
BYTE?byG;
BYTE?byR;
}?RGBPixel; //?定義RGB24的一個像素點

typedef?struct?{
DWORD?dwBout;
DWORD?dwGout;
DWORD?dwRout;
}?RGBSumData;

//?常見RAW轉RGB?有“最鄰近插值法“和“雙線性插值算法“
//?這里使用雙線性插值算法?使用雙線性插值算法得到的圖像比較平滑?
//?而利用“最鄰近插值算法“會丟失圖像的一些邊緣信息?優點就是速度很快
//?
//?+++++
void?BToRGB(const?UINT?iY?const?UINT?iX?const?BYTE?*pImage?RGBSumData&?SumData);
void?GbToRGB(const?UINT?iY?const?UINT?iX?const?BYTE?*pImage?RGBSumData&?SumData);
void?GrToRGB(const?UINT?iY?const?UINT?iX?const?BYTE?*pImage?RGBSumData&?SumData);
void?RToRGB(const?UINT?iY?const?UINT?iX?const?BYTE?*pImage?RGBSumData&?SumData);
void?AjustValue(RGBSumData&?SumData);
//?-----

//?對圖像做垂直鏡像變換
void?RGB24_GeomMirV(RGBPixel?*pImage?const?UINT?iHeigh?const?UINT?iWidth);
void?RGB24_GeomMirV(BYTE?*pImage?const?UINT?iHeigh?const?UINT?iWidth);

//?對圖像做水平鏡像變換
void?RGB24_GeomMirH(RGBPixel?*pImage?const?UINT?iHeigh?const?UINT?iWidth);
void?RGB24_GeomMirH(BYTE?*pImage?const?UINT?iHeigh?const?UINT?iWidth);

//?對圖像做鏡像變換
void?RGB24_GeomMir(RGBPixel?*pImage?const?UINT?iHeigh?const?UINT?iWidth?BOOL?bDiretion);
void?RGB24_GeomMir(BYTE?*pImage?const?UINT?iHeigh?const?UINT?iWidth?BOOL?bDirection);


void?main()
{
UINT?i?=?0?j?=?0;
ULONG?lIdx?=?0;
char?filename[50];
RGBSumData?SumData?=?{0};
ColorType?ct;
????BYTE*?image1=new?BYTE[H*W];
#if?Flag
RGBPixel?*image2?=?new?RGBPixel[H*W];
#else
BYTE?*image3?=?new?BYTE[H*W*3];
#endif

BITMAPFILEHEADER*?fileheader;
BITMAPINFOHEADER*?infoheader;
unsigned?int?FHlen=sizeof(BITMAPFILEHEADER);
unsigned?int?IHlen=sizeof(BITMAPINFOHEADER);

//位圖信息頭結構
infoheader=new?BITMAPINFOHEADER;
memset(infoheader0IHlen);
infoheader->biSize?=40;
infoheader->biWidth?=W;
infoheader->biHeight?=H;
infoheader->biPlanes?=1;
infoheader->biBitCount?=24;
infoheader->biCompression?=BI_RGB;
infoheader->biSizeImage?=H*W*3;

//位圖文件頭結構
fileheader=new?BITMAPFILEHEADER;
memset(fileheader0FHlen);
fileheader->bfType?=0x4D42;
fileheader->bfSize?=FHlen+IHlen+H*W*3;
fileheader->bfOffBits=FHlen+IHle

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件??????12109??2010-04-06?18:03??RAW8ToRGB24\RawToBmp.cpp

?????文件???????3429??2010-03-15?18:46??RAW8ToRGB24\RawToBmp.dsp

?????文件????????541??2010-03-15?13:39??RAW8ToRGB24\RawToBmp.dsw

?????文件??????57344??2010-04-06?18:04??RAW8ToRGB24\Release\RawToBmp.exe

?????文件?????307200??2010-03-11?16:16??RAW8ToRGB24\測試圖片\待轉換的Raw文件\BufferRAW.raw

?????文件?????921654??2010-04-06?17:54??RAW8ToRGB24\測試圖片\轉換后的Bmp文件\Buffer.bmp

?????文件????????216??2010-04-06?18:08??RAW8ToRGB24\說明.txt

?????目錄??????????0??2010-04-06?17:55??RAW8ToRGB24\測試圖片\待轉換的Raw文件

?????目錄??????????0??2010-04-06?17:55??RAW8ToRGB24\測試圖片\轉換后的Bmp文件

?????目錄??????????0??2010-04-06?18:04??RAW8ToRGB24\Release

?????目錄??????????0??2010-04-06?17:55??RAW8ToRGB24\測試圖片

?????目錄??????????0??2010-04-06?18:07??RAW8ToRGB24

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

??????????????1302493????????????????????12


評論

共有 條評論