xxxx18一60岁hd中国/日韩女同互慰一区二区/西西人体扒开双腿无遮挡/日韩欧美黄色一级片 - 色护士精品影院www

  • 大小: 58KB
    文件類型: .zip
    金幣: 2
    下載: 1 次
    發布日期: 2021-06-22
  • 語言: C/C++
  • 標簽:

資源簡介

數字圖像處理課程,直方圖均衡化C++代碼的實現

資源截圖

代碼片段和文件信息

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

using?namespace?std;

unsigned?char?*pBmpBuf;//讀入圖像數據的指針
int?bmpWidth;//圖像的寬
int?bmpHeight;//圖像的高
RGBQUAD?*pColorTable;//顏色表指針
int?biBitCount;//圖像類型,每像素位數?根據BMP文件結構,

/****************************************
*******************************
*?函數名稱:
*?????readBmp()
*
*函數參數:
*????char?*bmpName?-文件名字及路徑
*
*返回值:
*????0為失敗,1為成功
*
*說明:給定一個圖像文件名及其路徑,讀圖像的位圖數據、寬、高、顏色表及每像素
*??????位數等數據進內存,存放在相應的全局變量中
****************************************
*******************************/
bool?readBmp(char?*bmpName)
{
//二進制讀方式打開指定的圖像文件
FILE?*fp=fopen(bmpName“rb“);
if(fp==0)?return?0;


//跳過位圖文件頭結構BITMAPFILEHEADER
fseek(fp?sizeof(BITMAPFILEHEADER)0);?
//定義位圖信息頭結構變量,讀取位圖信息頭進內存,
//存放在變量head中
BITMAPINFOHEADER?head;?
fread(&head?sizeof(BITMAPINFOHEADER)?1fp);?//獲取圖像寬、高、每像素所占位數等信息
bmpWidth?=?head.biWidth;
bmpHeight?=?head.biHeight;
biBitCount?=?head.biBitCount;?//定義變量,計算圖像每行像素所占的字節數(必須是4的倍數)
int?lineByte=(bmpWidth?*?biBitCount/8+3)/4*4;?//灰度圖像有顏色表,且顏色表表項為256
if(biBitCount==8){
//申請顏色表所需要的空間,讀顏色表進內存
pColorTable=new?RGBQUAD[256];
fread(pColorTablesizeof(RGBQUAD)256fp);
}?//申請位圖數據所需要的空間,讀位圖數據進內存
pBmpBuf=new?unsigned?char[lineByte?*?bmpHeight];
fread(pBmpBuf1lineByte?*?bmpHeightfp);?//關閉文件
fclose(fp);?
return?1;
}?

/*****************************************
*?函數名稱:
*?????saveBmp()
*
*函數參數:
*????char?*bmpName-文件名字及路徑
*????unsigned?char?*imgBuf-待存盤的位圖數據
*????int?width-以像素為單位待存盤位圖的寬
*????int?height-以像素為單位待存盤位圖高
*????int?biBitCount-每像素所占位數
*????RGBQUAD?*pColorTable-顏色表指針?*返回值:
*????0為失敗,1為成功
*
*說明:給定一個圖像位圖數據、寬、高、顏色表
指針及每像素所占的位數等信息,
*??????將其寫到指定文件中
******************************************
*****************************/
bool?saveBmp(char?*bmpName?unsigned?char?
?*imgBuf?int?width?int?height?
?int?biBitCount?RGBQUAD?*pColorTable)
{
//如果位圖數據指針為0,則沒有數據傳入,函數返回
if(!imgBuf)
return?0;?//顏色表大小,以字節為單位,灰度圖像顏色表 為1024字節,彩色圖像顏色表大小為0
int?colorTablesize=0;
if(biBitCount==8)
colorTablesize=1024;?//待存儲圖像數據每行字節數為4的倍數
int?lineByte=(width?*?biBitCount/8+3)/4*4;?//以二進制寫的方式打開文件
FILE?*fp=fopen(bmpName“wb“);
if(fp==0)?return?0;?//申請位圖文件頭結構變量,填寫文件頭信息
BITMAPFILEHEADER?fileHead;
fileHead.bfType?=?0x4D42;//bmp類型?//bfSize是圖像文件4個組成部分之和
fileHead.bfSize=?sizeof(BITMAPFILEHEADER)
+?sizeof(BITMAPINFOHEADER)
+?colorTablesize?+?lineByte*height;
fileHead.bfReserved1?=?0;
fileHead.bfReserved2?=?0;?//bfOffBits是圖像文件前3個部分所需空間之和
fileHead.bfOffBits=54+colorTablesize;?//寫文件頭進文件
fwrite(&fileHead?sizeof(BITMAPFILEHEADER)1?fp);?//申請位圖信息頭結構變量,填寫信息頭信息
BITMAPINFOHEADER?head;?
head.biBitCount=biBitCount;
head.biClrImportant=0;
head.biClrUsed=0;
head.biCompression=0;
head.biHeight=height;
head.biPlanes=1;
head.biSize=40;
head.biSizeImage=lineByte*height;
head.biWidth=width;
head.biXPelsPe

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????66614??2013-06-06?15:55??新建文件夾\1.bmp
?????文件???????10229??2013-07-04?11:18??新建文件夾\main.cpp
?????目錄???????????0??2013-07-04?11:17??新建文件夾\

評論

共有 條評論