eng_max.cpp

来自「本程序将独立分量分析技术和数字水印技术有机地结合在一起」· C++ 代码 · 共 40 行

CPP
40
字号
#include <malloc.h>
/*eng_max--求能量最大独立分量的子程序
*输入一组独立特征分量,求出能量最大的那个独立特征分量
*/
void eng_max (float *ans, int n, int p, int *a)
{
	int i, j ,*N;
	float *eng;
	float M;
	
	N= (int *) malloc(1 * n* sizeof(int));
	eng= (float *) malloc(1 * n* sizeof(float));

	for (i = 0; i < n; i++) 
	{
		eng[i] = 0;
		for (j = 0; j < p; j++) 
		{
			eng[i] = eng[i] + ans[p * i + j] ;
		}
		eng[i]=eng[i]/p;
		eng[i]=eng[i]*eng[i];
	}

	for (i = 0; i < n; i++)
		N[i]=i;
	M=eng[N[0]];
    for (i = 1; i < n; i++){
		if(eng[N[i]]>M){
			M=eng[N[i]];
            a[0]=N[i];
		}
			
	}
   
   
    


}

⌨️ 快捷键说明

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