[23] lgdt | 2009-05-18 21:28:25 |
Legyen a kép 2N+1-szer 2N+1-es. Definiáljuk így a transzformációt:
(Ez a definíció értelmes, mert csak annyiban különbözik a nullától indexelt változattól, hogy át vannak rendezve a kép pontjai.)
Pontosan ugyanaz a gondolatmenet érvényes, mint a folytonos esetben.
|
Előzmény: [22] Lóczi Lajos, 2009-05-16 04:41:01 |
|
|
|
|
[19] lgdt | 2009-05-16 01:41:33 |
Azt hiszem, diszkrét esetben lehetne vitatkozni a nem 90 fokos elforgatás definícióján is. Kicsit pontosítok a megfogalmazáson, szerintem folytonos esetben igaz az állítás; diszkrét esetben 90 fokos forgatásra igaz.
Először leszögezem, hogy alapvetően fogalmam sincs arról, hogy mit beszélek, úgyhogy ne hallgassatok rám.
Definiáljuk így a transzformációt:
A g:R2R2 legyen az elforgatás. Nézzük:
Ez levezetés nélkül is látszik, ha elképzeljük, hogy a b vektor a hullámfrontok egyeneseinek normálvektora, és vele együtt fordul az egész hullámkép (azaz az adott bázisfüggvény).
Ezek miatt úgy sejtem, hogy ha a diszkrét képen csinálok valami elforgatásszerű dolgot, akkor ránézésre a frekvenciatérben is elforgatás történik.
A diszkrét 90 fokos esetet leírom a következő hozzászólásomban. Lehet, hogy csak holnap, mert már késő van.
|
Előzmény: [13] Lóczi Lajos, 2009-05-14 11:32:09 |
|
[18] athon | 2009-05-14 15:13:24 |
Speciel abban az esetben amikor az x és y koordinátákat felcseréltem az működött, de ha nem k*90 fokos szöggel akarom elforgatni a transzformált pixeleit akkor a képről kilógnak a pixelek. Ezt hibásan úgy kompenzáltam, hogy kiterjesztettem a képet kétszeresére, elforgattam majd alkalmaztam rá az inverz FFT-t. Sejtettem hogy nem fog működni. Azt szeretném akkor megtudni, hogy a Fourierrel hogyan lehet meghatározni egy forgó objektumról hogy milyen szöggel fordult el? Mert ezzel biztos meg lehet mérni.
|
Előzmény: [17] athon, 2009-05-14 12:44:24 |
|
[17] athon | 2009-05-14 12:44:24 |
A transzformált eredménye 2 kép, az egyik a valós értékeket tartalmazza, a másik pedig a képzetes értékeket. Ezeknek a képeknek cseréltem fel az x és y koordinátáit, majd ezekkel a képekkel megcsináltam az inverz transzformációt aminek az eredménye ugye egyetlen kép lett. Eredményül az eredeti kép 90 fokos elforgatottját kaptam, ez volt a célom. De kipróbálom kisebb léptékű forgatásokkal, aztán meglátjuk milyen eredményt kapok. Egyébként lehet más módosítást végezni a frekvencia térben hogy hasonló eredményt kapjak?
|
Előzmény: [15] Lóczi Lajos, 2009-05-14 11:35:49 |
|
|
|
[14] athon | 2009-05-14 11:32:58 |
Mondjuk nem vagyok nagy matek bajnok, de a fourier transzformáció eredménye úgy tudom komplex érték lesz. A mátrix kiszámolásánál ezt figyelembe vetted?
|
Előzmény: [10] Lóczi Lajos, 2009-05-14 08:03:34 |
|
[13] Lóczi Lajos | 2009-05-14 11:32:09 |
Egy kettőhatvány oldalú mátrixnak nincs közepe, de ha a mátrix "geometriai" közepére veszed fel a pontot, ami körül forgatsz, akkor sem igaz az állítás:
ha egy 4x4-es mátrix 2. sorának 2. oszlopában áll egy 1-es, máshol csupa 0, akkor ennek a transzformáltja komplex számokat fog tartalmazni.
Viszont annak a mátrixnak a transzformáltja, ahol a 3. sor 3. eleme 1-es, a többi 0 [vagyis a "közepe" körül 180 fokkal forgattuk el az előző mátrixot], csupa valós számot fog tartalmazni, tehát a transzformáltak semmiképp sem egymás elforgatottjai.
|
Előzmény: [11] lgdt, 2009-05-14 09:09:30 |
|
[12] athon | 2009-05-14 11:27:06 |
Kipróbáltam, 90 fokkal elforgattam a transzformáltat és az inverze is 90 fokkal elfordult :) Köszönöm a segítséget!
|
|
[11] lgdt | 2009-05-14 09:09:30 |
Elnéztem volna? Sajnos most nincs időm újra átgondolni, de amit írtam, azt az origó körüli forgatásra írtam. (És nyilván az origót nem a kép sarkába, hanem a közepére célszerű felvenni.)
|
Előzmény: [10] Lóczi Lajos, 2009-05-14 08:03:34 |
|
[10] Lóczi Lajos | 2009-05-14 08:03:34 |
Ezzel nem értek egyet.
Tekintsük azt a 4x4 pixeles képet, amelyet az a 0-1-mátrix ír le, amelynek első sora (1,0), második sora pedig (0,0).
Az első sor diszkrét Fourier-transzformáltja , míg a második soré (0,0) lesz. Az új mátrix első és második oszlopának transzformáltja egyaránt (1/2,1/2).
Az eredeti kép transzformáltja tehát a csupa 1/2-ből álló mátrix.
Ha viszont az eredeti képet "elforgatom", és kiindulok abból a 4x4 pixeles képből, amelynek első sora (0,0), második sora (0,1), akkor ennek Fourier-transzformáltja [először ismét a sorvektorokat, majd az oszlopvektorokat transzformálva] az a mátrix lesz, amelynek első sora (1/2,-1/2), a második sor pedig ennek az ellentettje. Ez a mátrix viszont nem elforgatottja a csupa 1/2-ből álló mátrixnak.
|
Előzmény: [8] lgdt, 2009-05-12 22:37:43 |
|
[9] Sirpi | 2009-05-13 09:11:49 |
Köszi, javítottam, túl ügyes akartam lenni elsőre :-) Sima szövegként tényleg csak \ jellel lehet ~-ot írni, de linkben nem kell kitenni, és egyúttal linkesítettem is az url-t. Mind1, túlragozva, a lényeg, hogy megy :-)
|
Előzmény: [7] athon, 2009-05-12 22:02:36 |
|
[8] lgdt | 2009-05-12 22:37:43 |
Ha az új kép nem lóg le (azaz nem kerül nem 0 értékű pixel a képen kívülre a forgatás során), akkor az elforgatott transzformáltja egyenlő a transzformált elforgatottjával.
|
Előzmény: [1] athon, 2009-05-12 17:41:11 |
|
[7] athon | 2009-05-12 22:02:36 |
Azért kér jelszót mert még mindíg nem jó a link, a ~ előtt ott van a \. De így már működik:
http://local.wasp.uwa.edu.au/~pbourke/miscellaneous/dft/
Köszi a segítséget.
|
Előzmény: [6] Sirpi, 2009-05-12 20:47:01 |
|
[6] Sirpi | 2009-05-12 20:47:01 |
Módosítottam a linket: a ~ jel LaTeX-ben nem törő szóközt jelent, magát a jelet így lehet beírni: \~ (egy \ jel kell elé).
Viszont nekem az oldal jelszót kér és nem enged be.
|
Előzmény: [4] athon, 2009-05-12 18:18:02 |
|
[5] athon | 2009-05-12 18:22:35 |
De szerintem a feladat szempontjából mindegy milyen módszerrel állítom elő a Fourier transzformáltat és inverzét, lényeg hogy a frekvencia térben elegendő-e ha elforgatom a transzformáció eredményének valós és képzetes részét alpha szöggel, majd veszem az inverz Fourier transzformációját. De szerintem nem lehet ennyire triviális.
|
|
[4] athon | 2009-05-12 18:18:02 |
Nem tudom miért, de a tilda jelet nem rakja be. Ahol szóköz van ott AltGr+1 kell.
|
|
[3] athon | 2009-05-12 18:12:58 |
Erről a címről szedtem le a forráskódot, a képletek is fennt vannak. Tehát minden sorra majd oszlopra egy dimenziós diszkrét Fast Fourier transzformációt csinálok. Szürkeskálás képpel dolgozom, mivel a FFT megköveteli hogy a kép széle és hossza 2 hatványa legyen, így a képet kibővítettem 0 intenzitás értékkel ahol kellett.
|
|
|
[1] athon | 2009-05-12 17:41:11 |
Kérdésem a következő: Mi történik ha veszem egy kép Fourier transzformáltját és a képet elforgatom? Azaz, mit kell csinálnom a frekvencia térben, hogy az inverz Fourier transzformáció az eredeti kép alpha szöggel való elforgatottját adja vissza?
|
|