[問題] 傅立葉轉換
請各位高手幫幫忙,如何壤這個matlab寫成C語言,
小弟剛學C沒多久,不太懂的地方還很多
matlab程式:
x=zeros(256);
x(130:140,130:140)=1;
imshow(x);
F=fftshift(fft2(x));
figure;imshow(F)
C語言:
/*fft2*/
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
#define PI 3.141592654
int main(void)
{
int i,j,m,n,u,v,x[256][256]={0},F[256][256]={0};
for(i=130;i<=139;i++)
{
for(j=130;j<=139;j++)
{
x[i][j]=1;
printf("x=%d\t",x[i][j]);
for(u=0;u<=256;u++)
{
for(v=0;v<=256;v++)
{
for(m=0;m<=256;m++)
{
for(n=0;n<=256;n++)
{
★ ★ F[u][v]+=(-1)^(m+n)*x[m][n]*exp(-j*2*PI*(m*u/256+n*v/256));
printf("F[u][v]=%f\t",F[u][v]);
}
}
}
}
}
}
system("pause");
return 0;
}
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.120.32.178
推
10/08 13:10, , 1F
10/08 13:10, 1F
→
10/08 13:11, , 2F
10/08 13:11, 2F
→
10/08 13:11, , 3F
10/08 13:11, 3F
→
10/08 13:11, , 4F
10/08 13:11, 4F
→
10/08 13:12, , 5F
10/08 13:12, 5F
→
10/08 13:12, , 6F
10/08 13:12, 6F
→
10/08 13:13, , 7F
10/08 13:13, 7F
→
10/08 13:13, , 8F
10/08 13:13, 8F
→
10/08 13:14, , 9F
10/08 13:14, 9F
→
10/08 13:14, , 10F
10/08 13:14, 10F
→
10/08 13:15, , 11F
10/08 13:15, 11F
→
10/08 13:15, , 12F
10/08 13:15, 12F
→
10/08 13:22, , 13F
10/08 13:22, 13F
推
10/08 13:24, , 14F
10/08 13:24, 14F
→
10/08 13:25, , 15F
10/08 13:25, 15F
→
10/08 13:25, , 16F
10/08 13:25, 16F
→
10/08 13:26, , 17F
10/08 13:26, 17F
→
10/08 13:27, , 18F
10/08 13:27, 18F
→
10/08 13:27, , 19F
10/08 13:27, 19F
→
10/08 13:28, , 20F
10/08 13:28, 20F
推
10/08 13:31, , 21F
10/08 13:31, 21F
→
10/08 13:32, , 22F
10/08 13:32, 22F
→
10/08 13:32, , 23F
10/08 13:32, 23F
→
10/08 13:33, , 24F
10/08 13:33, 24F
→
10/08 13:34, , 25F
10/08 13:34, 25F
→
10/08 22:08, , 26F
10/08 22:08, 26F
推
10/08 22:16, , 27F
10/08 22:16, 27F
→
10/08 22:17, , 28F
10/08 22:17, 28F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章