Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Diskrete Kosinus-Transformation --> function gesucht (https://www.delphipraxis.net/33023-diskrete-kosinus-transformation-function-gesucht.html)

dizzy 31. Okt 2004 17:40


Diskrete Kosinus-Transformation --> function gesucht
 
Tachchen!

Ich suche mich jetzt schon seit 3 Tagen blöde :freak:. Ich wollte eigentlich nur mal eben verstehen wie JPEG funktioniert, und es in klein und schlecht ansatzweise nachproggen. Ich hänge allerdings an der DCT (Discrete Cosine Transformation). Ich finde hier und da mal ein bischen C-Source, der aber nach einer Übersetzung nach besten Wissen und Gewissen einfach nicht hinhaut (komische Ergebnisse, Endlosloops, etc.).
Von daher suche ich eigentlich "nur" eine einfache Delphi/Pascal-Funktion die eine 2D-DCT durchführen kann. Am selber schreiben scheiter ich immer wieder an der komischen Notation mit der die Formeln angegeben werden (-> ich kann mich mit Summen nicht so recht anfreunden, und schon garnicht mit Doppelsummen :?)

Ein paar FFT-Algos (auch in C :?) hab ich auch gefunden, aber die sind ja nochmal komplizierter, da komplexe Zahlen implizit mitspielen (Die DCT ist eine FFT nur um die Imaginäranteile beschnitten - soviel hab ich schon geschnallt...).

Biiiitte sei einer hier der da was weiss :spin2:


Habt Dank, und tüüüs,
Fabian

stefangeorg 1. Nov 2004 09:24

Re: Diskrete Kosinus-Transformation --> function gesucht
 
Servus,

unter
Delphi - Digital Sound Processing
findest du eine ganze Menge zum Thema Fourier Transformation.

Ich habe zur Signalverarbeitung folgende Komponente benutzt:
DFT

Als Resultat erhältst Du zwei Arrays mit den Real- und den Imaginäranteilen.

Grosser Vorteil:
Funktioniert auch mit Eingabedatenmengen die nicht eine Potenz von zwei sind,
ist aber trotzdem sehr schnell.


mfg

Georg Härting

dizzy 1. Nov 2004 14:29

Re: Diskrete Kosinus-Transformation --> function gesucht
 
Zitat:

Zitat von stefangeorg
unter
Delphi - Digital Sound Processing
findest du eine ganze Menge zum Thema Fourier Transformation.

Ja schau an. Auf efg's war ich schon, aber DAS hab ich natürlich nicht gesehen :). thx!

Zitat:

Zitat von stefangeorg
Ich habe zur Signalverarbeitung folgende Komponente benutzt:
DFT

Als Resultat erhältst Du zwei Arrays mit den Real- und den Imaginäranteilen.

Au die schaut interessant aus! Leider leider ist kein 2D-FFT mit einthalten, den ich ja für die Bildanalyse bräuchte, aber vielleicht bekomme ich es ja hin da was zu schrauben - auch wenn ich das sopntan erstmal anzweifel (*dencodegesehenhab*) :stupid:.

Gibt es evtl. eine simple Möglichkeit 2 lineare FFT-Durchläufe 2-dimensional zu verrechnen? Oder muss der Algo selbst wirklich umgeschrieben werden?


Schon mal super heissen Dank! Jetzt hab ich endlich was an der Hand womit man arbeiten kann :).

Schönen Gruß,
Fabian

stefangeorg 1. Nov 2004 14:43

Re: Diskrete Kosinus-Transformation --> function gesucht
 
Servus,

Zitat:

Leider leider ist kein 2D-FFT mit einthalten, den ich ja für die Bildanalyse bräuchte, aber vielleicht bekomme ich es ja hin da was zu schrauben - auch wenn ich das sopntan erstmal anzweifel (*dencodegesehenhab*) .
hab ich ganz übersehen ... mit 2D-FT hab ich mich noch nicht beschäftigt. Aiaiaiai.
Aber da sollte doch was im Zusammenhang mit jpg im Netz zu finden sein.

Da ich nicht weiss wie die Komprimierung bei jpg genau funktioniert kann ich zu der
Verknüpfung zweier FTs nichts sagen. Bräuchte ich ein paar Anhaltspunkte und würde
mich auch interessieren ...

mfg

Georg Härting

dizzy 1. Nov 2004 14:55

Re: Diskrete Kosinus-Transformation --> function gesucht
 
Im Grunde ist das wohl wie ein 1D-FFT, jedoch mit einer Doppelsumme über Zeilen und Spalten. Zwei sehr interessante Seiten dazu:

http://astronomy.swin.edu.au/~pbourke/analysis/fft2d/
http://astronomy.swin.edu.au/~pbourke/analysis/dft/

Da ist auch besagter C-Source drauf, an dem ich leider gescheitert bin :?

Robert Marquardt 1. Nov 2004 15:42

Re: Diskrete Kosinus-Transformation --> function gesucht
 
http://www.fftw.org
Fuer FFTW 2 habe ich eine Headerkonversion nach Delphi.
FFTW 3 laesst sich nicht mit MS VC++ uebersetzen (Fehler im generierten Code).
Das ist aber Info vom letzten Jahr.

dizzy 1. Nov 2004 22:12

Re: Diskrete Kosinus-Transformation --> function gesucht
 
Zitat:

Zitat von Robert Marquardt
http://www.fftw.org
Fuer FFTW 2 habe ich eine Headerkonversion nach Delphi.
FFTW 3 laesst sich nicht mit MS VC++ uebersetzen (Fehler im generierten Code).
Das ist aber Info vom letzten Jahr.

*lechtz* Eine Headerkonversion :D
Die DLL hab ich jetzt schon mal. Da würde mich der Rest natürlich gewaltig interessieren - wenn du weisst was ich meine :zwinker:

Danke dir!

Robert Marquardt 1. Nov 2004 22:29

Re: Diskrete Kosinus-Transformation --> function gesucht
 
Kein Problem, schreib mich direkt an robert_marquardt att gmx dott de
Ich habe an sich auch eine Headerkonversion fuer FFTW 3, aber die konnte ich nie ausprobieren.


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:50 Uhr.

Powered by vBulletin® Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf