histeq.h

来自「用Visual C++编写的地震记录显示程序」· C头文件 代码 · 共 36 行

H
36
字号
 void  histeq(float xz[],short int xzint[],long nxreal,long nzreal)
{
	float tabb[256],ww,sum=0;
	int kkk[256];
	float xmax,xmin;
	long i ,k;
	long int l; 
	l=nxreal*nzreal;
	xmax=-1000000;xmin=1000000;
	for(i=0;i<nxreal*nzreal;i++)
	{
			ww=xz[i];
			if(xmin>ww) xmin=ww;
			if(xmax<ww) xmax=ww; 
		
	}
	if(xmax>xmin)
		for(i=0;i<l;i++) 
		{
			xzint[i]=(short int)(255*(xz[i]-xmin)/(xmax-xmin));
		}

	for(i=0;i<256;i++) tabb[i]=0.0;
	ww=1/float(l);
	for(i=0;i<nxreal*nzreal;i++)  
	{
		k=(short int)(xzint[i]);
		tabb[k]=tabb[k]+ww;
	}
	for(i=1;i<256;i++) tabb[i]+=tabb[i-1];
	for(i=0;i<256;i++) kkk[i]=(int)(255*tabb[i]);
	for(i=0;i<nxreal*nzreal;i++) {k=xzint[i];xzint[i]=kkk[k];}

		
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?