c语言实现DCT变换.txt资料文档下载
- 文档编号:13160623
- 上传时间:2022-10-07
- 格式:TXT
- 页数:4
- 大小:2.59KB
c语言实现DCT变换.txt资料文档下载
《c语言实现DCT变换.txt资料文档下载》由会员分享,可在线阅读,更多相关《c语言实现DCT变换.txt资料文档下载(4页珍藏版)》请在冰豆网上搜索。
inti,j;
intaa[M][N];
for(i=0;
i<
M;
i++)
{
for(j=0;
j<
N;
j++)
{
aa[i][j]=(int)(a[i][j]);
//ȡ��
printf("
%d,"
aa[i][j]);
}
\n"
);
}
}
voidFast(floata[N][M],floatb[M][N]) //ת�ú
���
{
a[j][i]=b[i][j];
voidMult(floata[M][N],floatb[M][N],floatc[M][N]) //DCT���任
inti,j,k;
floatsum;
sum=0;
for(k=0;
k<
k++)
sum+=a[i][k]*b[k][j];
c[i][j]=sum;
voidIMult(floata[M][N],floatb[M][N],floatc[M][N]) //DCT���任
sum+=a[k][j]*b[i][k];
voidLH(floata[M][N],floatb[M][N],floatc[M][N]) //����
c[i][j]=2*a[i][j]/b[i][j];
voidFLH(floata[M][N],floatb[M][N],floatc[M][N]) //������
c[i][j]=a[i][j]*b[i][j]/2;
voidmain() //������
floatDCT[M][N],TDCT[N][M];
floattemp[M][N],F[M][N];
floatCk;
floatq[M][N];
//��������
floatf[M][N];
//DCT�任���
floatff[M][N];
//DCT���任���
floatlh[M][N];
//�������
floatflh[M][N];
//���������
FILE*fp=fopen("
YuanShi.txt"
"
r"
),*fp2=fopen("
Q.txt"
if(fp==NULL) //����ԭʼ����
error!
"
fscanf(fp,"
%f"
&
f[i][j]);
fclose(fp);
if(fp2==NULL) //������������
fscanf(fp2,"
q[i][j]);
fclose(fp2);
if(i==0)
Ck=1.000000/sqrt
(2);
elseCk=1;
DCT[i][j]=sqrt(2.000000/N)*Ck*cos((2*j+1)*i*P/(2*N));
//DCTϵ��
Fast(TDCT,DCT);
//��ת��
Mult(DCT,f,temp);
//��DCT�任
Mult(temp,TDCT,F);
LH(F,q,lh);
//����
FLH(lh,q,flh);
//������
IMult(DCT,flh,temp);
//��DCT���任
IMult(temp,TDCT,ff);
freopen("
DCT.txt"
w"
stdout);
//���DCT�任�������F���ļ�DCT.txt
Print(F);
fclose(stdout);
LH.txt"
//��������������lh���ļ�LH.txt
Print(lh);
FLH.txt"
//����������������flh���ļ�FLH.txt
Print(flh);
IDCT.txt"
//���DCT���任�������ff���ļ�IDCT.txt
Print(ff);
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 实现 DCT 变换