#include <stdio.h>
#include <WINDOWS.H>
#include <IOSTREAM.H>
#include <MATH.H>
bool InitBITMAP(BITMAP* bmp);
void InitHist(unsigned char* pImg,int imageSize);
int GetBrightNess(unsigned long* LUT,int imageSize);
double GetContrast(unsigned long* LUT,int imageSize, int brightness);
void ChangeU_AND_D(unsigned char* pImg,int imageSize);
void saveBmp(BITMAP* bmp);
char* fileName="d:\\new.bmp";
char* saveFileName="D:\\myLena.bmp";
unsigned long HIST[256];
unsigned long LUT[256];
void saveBmp(BITMAP* bmp)
{
FILE* fp=fopen(fileName,"rb");
BITMAPFILEHEADER bh;
fread(&bh,sizeof(BITMAPFILEHEADER),1,fp);
unsigned char* imageHead=new unsigned char[bh.bfOffBits];
fseek(fp,0,SEEK_SET);
fread(imageHead,1,bh.bfOffBits,fp);
fclose(fp);
fp=fopen(saveFileName,"wb");
if(!fp)
{
printf("error in saveBmp!");
return;
}
fwrite(imageHead,bh.bfOffBits,1,fp);
fwrite(bmp-
获得和改变bmp图像的亮度对比度
最新推荐文章于 2024-02-28 19:11:18 发布