Forum Coders' city Strona Główna Coders' city
Nasza pasja to programowanie!
 

 PomocPomoc   SzukajSzukaj   UżytkownicyUżytkownicy   GrupyGrupy  RejestracjaRejestracja 
Archiwum starego forum + teoria    RSS & Panel/SideBar
 ProfilProfil   Zaloguj się, by sprawdzić wiadomościZaloguj się, by sprawdzić wiadomości   ZalogujZaloguj 

Potrzebuję szybkiej odpowiedzi na moje pytanie... Zasady

FFT z efektem jak w programach do analizy obrazu.



 
Odpowiedz do tematu    Forum Coders' city Strona Główna -> Java
Zobacz poprzedni temat :: Zobacz następny temat  
Autor Wiadomość
Gruby Adam
Gość





PostWysłany: Czw Lip 09, 2015 6:00 pm  OP    Temat postu: FFT z efektem jak w programach do analizy obrazu. Odpowiedz z cytatem Pisownia

Witam jak w temacie próbuje zrobić FFT na obrazie, tak by wyszło coś w stylu FFT 2D można zaleźć w sieci pełno przykładowych obrazów. Niestety jestem chu... z programowania, próbuje przerabiać różne kody i nie wychodzi to za dobrze :/ Szukałem wcześniej rad i otrzymałem odpowiedź zrób obraz w skali szarości no spoko nic to nie dało ;)
Aktualnie mam coś takiego:
Kod:

public static Complex[] fft(Complex[] x) {

        int n = x.length;

        if (n <= 1) return new Complex[] { x[0] };

        int hn = n/2;        
        
        Complex[] even = new Complex[hn];
        Complex[] odd  = new Complex[hn];
        for (int k = 0; k < hn; k++) {
            even[k] = x[k*2];
            odd[k] = x[k*2+1];
        }

        Complex[] q = fft(even);
        Complex[] r = fft(odd);

        double a = -2*Math.PI;
        Complex[] y = new Complex[n];
        for (int k = 0; k < hn; k++) {
            double p = k/n;
            Complex wk = new Complex(0, a*p);
            wk = wk.exp();
            wk = wk.times(r[k]);
            y[k] = q[k].plus(wk);
            y[k + hn] = q[k].minus(wk);
        }
        return y;
    }
    
    // compute the inverse FFT of x[], assuming its length is a power of 2
    public static Complex[] ifft(Complex[] x) {
        int n = x.length;
      
        for (int i = 0; i < n; i++) {
            x[i] = x[i].conjugate();
        }

        x = fft(x);

        for (int i = 0; i < n; i++) {
            x[i] = x[i].conjugate();
        }

        for (int i = 0; i < n; i++) {
            x[i] = x[i].times(1.0/n);
        }

        return x;

    }


Pytanie jak zrobić obraz po fft rodem z eclipsa czy opencv - dft ??
Powrót do góry
Wyświetl posty z ostatnich:   
Odpowiedz do tematu    Forum Coders' city Strona Główna -> Java Wszystkie czasy w strefie CET (Europa)

Strona 1 z 1

 
Skocz do:  
Możesz pisać nowe tematy
Możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Możesz dodawać załączniki na tym forum
Możesz pobierać pliki z tego forum




Debug: strone wygenerowano w 0.15310 sekund, zapytan = 11
contact

| Darmowe programy i porady Jelcyna | Tansze zakupy w Helionie | MS Office Blog |