|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 | |
|
Junior Member
Iscritto dal: Aug 2010
Messaggi: 7
|
[java] effettuare dct su una matrice
Salve a tutti!
ho un problema un pò più serio questa volta, dovrei effettuare il calcolo della trasformata discreta del coseno(dct) su una matrice di interi, che rappresenta l'immagine. il codice per il calcolo della dct è una semplice formula matematica che ho trovato in rete e riconvertita in codice java. Il problema è che così su immagini molto grandi di mette un eternità, tempo che non sono disposto ad aspettare Studiando un pò di materiale sulla compressione jpeg dove viene utilizzata la dct e dove: Quote:
il problema è che nono so proprio dove mettere le mani per suddividere la matrice in blocchetti 8x8 e di aggiungere una riga qualora non dovesse essere un multiplo di 8 potete aiutarmi? se serve posso postare il codice della funzione dct. Grazie a tutti, spero di avere risposta |
|
|
|
|
|
|
#2 |
|
Member
Iscritto dal: Oct 2007
Città: Ardea
Messaggi: 270
|
se usi una matrice bidimensionale, basta che al metodo passi la matrice intera ed i rispettivi indici di partenza, no? ovvero se la matrice per esempio e' una 16x16 (sciocchezza) hai 4 blocchi da 8x8, se al metodo passi la matrice intera e deve elaborare il secondo blocco della prima fila, passerai anche gli indici (0, 8) ovvero partira' dalla prima riga ed ottava colonna, ed il metodo poi incrementera' gli indici solamente di 8... Non so se mi sono spiegato bene. Per il fatto di aggiungere la riga quello basta fare un controllo all'inizio e in caso riallocare la matrice in una piu grande... Cmq dato che devi fare l'operazione su piu blocchi, ed e' sempre la stessa operazione, non so se qui l'utilizzo dei thread puo' aiutare... fai un tentativo..
|
|
|
|
|
|
#3 |
|
Junior Member
Iscritto dal: Aug 2010
Messaggi: 7
|
ok provo a fare un tentativo come mi hai appena suggerito
tentar non nuoce tanto :P ps: avevo trovato una soluzione moooolto meno elegante dove scorrevo la matrice riga per riga e applicavo l'algoritmo per il calcolo della dct(quindi usando un metodo d'appoggio) ma , tralasciando che lo devo ancora testare per capire cosa mi ritorna, penso che non mi dia la dct come abbiamo studiato nel corso di TLC(in alto a sinistra le basse frequenze ed in basso a destra le alte frequenze) Ultima modifica di antedesk : 03-09-2010 alle 16:04. |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 22:54.



















