⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 2d_dct.c

📁 二维dct变换的DSP实现算法 只要下载了后
💻 C
字号:
#include <math.h>
#define N 8
#define PI 3.1415926
float DCTinput[N][N];
float DCTout[N][N];


int n, m,i,j;
float temp,NUM;

float num[N];
dct()
{
	float al;
	float sn,sn2;
    i=0;
	sn  = 1.0/N;
	sn2 = 2.0/N;
	for(m=0;m<N;m++)
     for(n=0;n<N;n++)
      { DCTinput[m][n]=1+(i++);
      }
	for(i=0;i<N;i++)
     for(j=0;j<N;j++)
	 {  
	   NUM=0.0;
	   for(m=0; m<N; m++)
             {temp=0.0;
              
			  for(n=0; n<N; n++)
			  {
			  
			    
			   temp+=DCTinput[m][n]*cos(((2*m+1)*i*PI)/(2*N))*cos(PI*(2*n+1)*j/(2*N));
			   
			  }
			 num[m]=temp;
			         
			  }
		for(m=0;m<N;m++)
			NUM+=num[m] ;  
	   if(i==0&j==0)
	       al=sn;
	    else 
		   al=sn2;
		
		DCTout[i][j]=NUM*al;
		
      }
}	 
int main()
{
	dct();
  
	while(1);
}

⌨️ 快捷键说明

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