: : : : : : Hi Dear All
: : : : : : I need a freeware FFT (Fast Fourier Transform) Component or Unit to perform a 2D-FFT on an arbitrary input image!
: : : : : : Can anyone help me?
: : : : : : Cheers
: : : : : : Bye
: : : : : :
: : : : : Use google to find them. There are several good ones on the net, which include their full source and are freeware.
: : : : :
: : : : Thanks Dear Zibadian. But unfortunately I could not find any good one.
: : : : Can you show me some of them?
: : : : Bye
: : : :
: : : Here is a site which lists several other sources:
http://homepages.borland.com/efg2lab/Library/Delphi/MathFunctions/Engineering.htm#DSP
: : : It also has several sources available. I myself use a variant of the dsxfft component.
: : :
: : But when I try to compile or install TFastFourier component in the DsxFastFourier.pas (dsxfft.zip in Delphi 6) I got the following error:
: : line 68: published property 'TransformedData' cannot be of type array!
: : Please note that in line 68 of this file, there is a published property as follows:
: : property TransformedData[idx:integer]:TComplex read ....
: : Now, How I can compile and install it?
: : Thanks
: :
: Change the TransfromedData into a public property.
:
Hi!
Thank you for your help. I was installed this component successfully.
But I have a problem for using this component.
I wrote the following code:
//---------------------------------------------------------------------
procedure TForm1.DSXFastFourier1GetData(index: Integer;
var Value: TComplex);
begin
// Sample Count=4 and so I defind input data as [0 1 2 3]
Value.Real:=index;
Value.Imag:=0;
end;
procedure TForm1.Button1Click(Sender: TObject);
var i:integer;
begin
DSXFastFourier1.fft;
for i:=1 to 4 do //Sample Count=4
begin
showmessage(floattostr(DSXFastFourier1.TransformedData[i].real)+'+i'+floattostr(DSXFastFourier1.TransformedData[i].imag));
end;
end;
//---------------------------------------------------------------------
The above code is executed when Button1 clicked. After this
action, the TDsxFastFourier.OnGetData to obtain input data will occured.
(Input Data= [ 0 1 2 3] and SampleCount=4)
After this stage, the output result will display by showmessage
procedure.
But the output of this component is wrong. For instance you
can test it in Matlab by the following code:
x=[0 1 2 3];
f=fft(x);
Now, What is the problem?