#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图像的亮度对比度
最新推荐文章于 2021-05-28 20:14:25 发布
这个程序演示了如何读取BMP文件并改变其亮度和对比度。通过初始化BITMAP结构,计算直方图,获取亮度和对比度,然后使用查找表(LUT)进行图像处理。最后,保存修改后的图像。
摘要由CSDN通过智能技术生成