DMUG-Archiv 2003

Frühere   Chronologischer Index   Spätere
Vorherige   Thematischer Index   Nächste

Re: Fourier transform

Guten Abend Stefan,

ohne jede Kenntnis der Formate kann man immerhin folgendes machen:
(1) Man besort sich ein Bild etwa von Emmy Noether (Noether_Emmy_7.gif) etwa von
History of Mathematics, St. Andrews. Das Bild ist im JPEG Format und dieses
Format kennt man n. V. auch nicht. Man importiert es in Mma

In[14]:= data = Import["Noether_Emmy_5.jpeg"]

Um Pixelzahlen zu bekommen, exportiert man das Bild als embedded postscript
(eps)

In[20]:= Export["Noether_Emmy_6.eps", %14]

und schaut sich das File an, irgendwo kommt darin
<snip>
% Start of gray image
p
0 - 0.00444 translate
1.00444 1.44888 scale
226 string
226 326 8[226 0 0 326 0 0] {currentfile 1 index readhexstring pop} Mimage
<snip>
vor. Durch Zählen stellt man fest, dass es tatsächlich 226  hex Pixel a 2 Digits
in 326 Zeilen sind. All das können Sie leicht maschinell herausfinden. Man
beseitigt mit einem Editor oder programmatisch alle Information in dem EPS file
ausser den Pixeln (File Noether_Emmy_Hex.txt) und beschafft sich die Pixel aus
dem File im Dezimalsystem:

In[114]:= noetherN = Partition[(
    FromDigits[#, 16] & /@ Partition[ToExpression  /@
                DeleteCases[ReadList["Noether_Emmy_Hex.txt", Character, \
RecordSeparators -> {}], "\n"], 2]) //. {A -> 10, B -> 11,
                     C -> 12, D -> 13, E -> 14, F -> 15}, 226];

noetherN ist die gesuchte Pixeltabelle (eine Liste aus 326 Listen je der Länge
226 mit unsigned short numbers (0, ..., 255) als Elementen).
Der ListDensityPlot von noetherN ist immer noch ein Bild von Emmy Noether (vgl.
Noether_Emmy_8.gif):

In[130]:= ListDensityPlot[noetherN, Mesh -> False, AspectRatio -> 326/226]

Jetzt könnten Sie sich fragen, was Sie mit Fouriertransformation der
Pixeltabelle meinen.
Nehmen wir an, Sie wollen die diskrete Fouriertransformation auf die Pixekzeilen
des Bildes anwenden:

In[130]:= ListDensityPlot[Abs[Fourier /@ noetherN], Mesh -> False, AspectRatio
-> \
326/226]

Das Ergebnis ist naturgemäss verhext (Nother_Emmy_9.gif), aber natürlich ist

In[131]:=ListDensityPlot[InverseFourier /@ (Fourier /@ noetherN), Mesh -> False,
\
AspectRatio -> 326/226]

immer noch oder wiederum das Bild von Emmy Noether. Sie können die Pixel vorher
anderswie abbilden, ein Beispiel mit dem Bild einer Katze ist auf Seite 9 im
Mathematica Buch (A Tour of Mathematica, Handling Data).

Wenn Sie die Pixel nicht haben, müssten Sie aus dem Bildfile anderswie - etwa
durch genaue Kenntnis des Formats - diskrete oder kontinuierlich Daten gewinnen,
die als Input für eine der vielen Fouriertransformationen geeignet sind.

Mit den besten Grüssen
Udo.


Stefan Heusler schrieb:

> Hallo!
>
> Ich habe eine Bild als jpg-File importiert und moechte es in eine Tabelle
> von Pixel
> verwandeln, die ich dann Fouriertransformieren moechte, und als neue Graphic
> ausgeben.
>
> Wie kann ich das machen??
>
> Vielen Dank,
>
> Stefan
>
> ----- Original Message -----
> From: "Schlosser Reinhard, Prof. Dr." <reinhard.schlosser@XXXXXXX.de>
> To: <>
> Sent: Wednesday, April 09, 2003 5:25 AM
> Subject: NDSolve
>
> > Zur der Berechnung von 2D-Feldlinien x(t), y(t) benutze ich NDSolve.
> >
> > So sieht der Aufruf aus (alles ganz einfach)
> >
> > NDSolve[{D[x[t], t] == f[x[t], y[t]], D[y[t], t] == g[x[t], y[t]], x[0] ==
> > 0, y[0] == 0}, {x, y}, {t, 0, 1}]
> >
> > Die Komplexität des Problems steckt in den Funktionen f(x,y) und g(x,y).
> >
> > Die Lösung die Mathematica liefert ist nicht genau genug.
> >
> > Ich habe daraufhin an den Optionen gespielt, allerdings ohne nennenswerten
> > Erfolg.
> >
> > Überascht war ich, daß die Optionen
> >
> > DifferenceOrder, MaxRelativeStepSize, SolveDelayed, StoppingTest
> >
> > im Help Browser 4.1.2.0 gar nicht erklärt sind.
> >
> > Kann mir jemand Literatur zu NDSolve empfehlen?
> >
> > Es gibt jede Menge Bücher zum Stichwort
> >
> > (Differentialgleichungen, differential equations) und Mathematica
> >
> > In welchem finde ich wohl die Infos die ich brauche,
> > um eine befriedigend genaue Lösung mit NDSolve zu erhalten?
> >
> > Mit freundlichen Gruessen / Best Regards
> > Prof. Dr.-Ing. Reinhard Schlosser
> >
> > Fachhochschule Deggendorf
> > Fachbereich Elektrotechnik und Medientechnik
> > Edlmairstrasse 6 + 8
> > 94469 Deggendorf
> > Tel 0991-3615-515
> > Fax 0991-3615-599
> > reinhard.schlosser@XXXXXXX.de
> > http://www.fh-deggendorf.de
> >
> >

GIF image

GIF image

GIF image

Verweise:
Frühere   Chronologischer Index   Spätere
Vorherige   Thematischer Index   Nächste

DMUG DMUG-Archiv, http://www.mathematica.ch/archiv.html