基本小函数(15)
发布时间:2021-06-06
发布时间:2021-06-06
图像处理的有用资料
ShowMessage("File read error"); return; }
//-----------读BMP信息头
BITMAPINFO_ *bmpi=new BITMAPINFO_();
if(fread((char*)bmpi,sizeof(BITMAPINFO_),1,f)==NULL) {
ShowMessage("File read error2"); return; }
//--------------读彩色表
long *c=new long[bmph->Offbits-sizeof(BITMAPFILEHEADER_)-sizeof(BITMAPINFO_)];
fread((char*)c,bmph->Offbits-sizeof(BITMAPFILEHEADER_)-sizeof(BITMAPINFO_),1,f);
//----------显示一些信息
Form1->Edit1->Text=IntToStr(bmph->bfSize); Form1->Edit2->Text=IntToStr(bmpi->width); Form1->Edit3->Text=IntToStr(bmpi->height); Form1->Edit4->Text=IntToStr(bmpi->comp); Form1->Edit5->Text=IntToStr(bmpi->used);
int i,j,k,wc;
long N=bmph->bfSize- bmph->Offbits;//象素总数 unsigned char *image=new char[N]; //位图矩阵
unsigned char *newimage=new char[N];//变换后的位图矩阵
fread(image,N,1,f);//读入位图矩阵
//---------直方图数列初始化
//---------直方图数列用来存储正规化后的灰度
double *h=new double[255];//255个灰度级,保存原始图像正规化灰度直方图数据
for(i=0;i<255;i++) h[i]=0.0;
double *nh=new double[255];//255个灰度级,保存变换后的图像正规化灰度直方图
for(i=0;i<255;i++) nh[i]=0.0;
long *count=new long[255]; //每一灰度级的象素数量统计