-
22/04/2012 - 17h58 Electronique2
Transformé en cosinus discret (DCT et DCTInverse)
Salut tt le monde,
Je travaille sur un projet à propos du codage à description multiple de l'image en utilisant la transformé en cosinus discret (DCT) .
D'après ce que j'ai conclut à partir de l'un des article que j'ai lu, que je dois appliquer la DCT sur mon image puis classer les coefficients résultants en ordre pour obtenir 2 matrices l'une contient les grands coefficients et la 2eme contiendra les petits coef. 
Vu que je suis débutante sur Matlab g lu que pour appliquer la DCT j'utilise la fonction dct2 mais ca me donne toujours un message d'erreur 
Est ce que Quelqu'un pourrait m'aider dans ce problème? et Merci beaucoup.
-
22/04/2012 - 23h02 Electronique2
Re : Transformé en cosinus discret (DCT et DCTInverse)
j'attends toujours votre aide -
23/04/2012 - 09h51 lou_ibmix_xi
Re : Transformé en cosinus discret (DCT et DCTInverse)
On attends toujours:
-la manière dont tu as utilisé la fonction
-le message d'erreur
Comment veux-tu que nous devinions ?
Tant qu'il y à de la vis, il y a du tourne-vis -
23/04/2012 - 12h02 Electronique2
Re : Transformé en cosinus discret (DCT et DCTInverse)
Le problème c'est que je veux appliquer la DCT sur tte l'image sans la diviser en blocs 8*8 puis trier les coefficients résultants;
Vu que je suis débutante en matlab j'ai lu que je dois utiliser la fonction dct2 donc voila le code que le code matlab+ l'erreur
K= imread('Barbara.jpg');
subplot(1,2,1);
subimage(K)
L= dct2(K);
??? Subscripted assignment dimension mismatch.
Error in ==> dct at 57
y(1:n,: ) = aa;
Error in ==> dct2 at 50
b = dct(dct(arg1).').';
Et merci d'avance
-
23/04/2012 - 13h32 lou_ibmix_xi
Re : Transformé en cosinus discret (DCT et DCTInverse)
Chez moi "dct2" ne fonctionne pas directement sur une image couleur, mais j'utilise "OCTAVE" qui a peut-être un comportement différent de "MATLAB". Si ton image est en couleur, peut-être faut-il faire la dct plan de couleur par plan de couleur: Code: L_red = dct2(K(:, :, 1));
L_green = dct2(K(:, :, 2));
L_blue = dct2(K(:, :, 3)); Tant qu'il y à de la vis, il y a du tourne-vis -
23/04/2012 - 13h55 Electronique2
Re : Transformé en cosinus discret (DCT et DCTInverse)
ok , et pour le cas de l'image en noir et blanc est ce que je peux l'utiliser (dct2) et comment?
-
23/04/2012 - 14h06 Electronique2
Re : Transformé en cosinus discret (DCT et DCTInverse)
 Envoyé par lou_ibmix_xi Chez moi "dct2" ne fonctionne pas directement sur une image couleur, mais j'utilise "OCTAVE" qui a peut-être un comportement différent de "MATLAB". Si ton image est en couleur, peut-être faut-il faire la dct plan de couleur par plan de couleur: Code: L_red = dct2(K(:, :, 1));
L_green = dct2(K(:, :, 2));
L_blue = dct2(K(:, :, 3));
1/ J'ai essayé ce code et ca marche merci ms le problème comment je peux travailler sur tous les coefficients rsultants après l'application de la dct vu que je veux les trier en ordre et coder ceux de grandes valeurs dans une matrice et les petiets dans une autre ? 
2/ Et pour le cas de l'image en noir et blanc, est ce que je peux appliquer directement la (dct2) et comment? -
23/04/2012 - 18h21 lou_ibmix_xi
Re : Transformé en cosinus discret (DCT et DCTInverse)
2/ Et pour le cas de l'image en noir et blanc, est ce que je peux appliquer directement la (dct2) et comment?
Je pense que ton image utilises les 3 plans RGB ou YUV, une fois importée dans MATLAB, tu peux convertir tes trois plans en niveaux de gris. Pour être sûr, fais un "size" sur la matrice de l'image après import, tu devrais avoir la hauteur et la largeur en nb de pixels, et si c'est bien une image "couleur", un 3 pour 3 plans. Assure toi du type d'espace colorimètrique utilisé (yuv ou rgb), et tu trouveras les formules de conversions pour transformer ta matrice en niveau de gris.
1/ J'ai essayé ce code et ca marche merci ms le problème comment je peux travailler sur tous les coefficients rsultants après l'application de la dct vu que je veux les trier en ordre et coder ceux de grandes valeurs dans une matrice et les petiets dans une autre ?
les fonctions "sort" et "find" devraient t'être utiles.
Tant qu'il y à de la vis, il y a du tourne-vis -
24/04/2012 - 17h23 Electronique2
Re : Transformé en cosinus discret (DCT et DCTInverse)
Merci infiniment 
Une autre question svp, on peut transformer une matrice en vecteur sur matlab mais est ce qu'il y a une commande qui fait l'inverse (passage d'un vecteur à une matrice)?
-
24/04/2012 - 18h23 Electronique2
Re : Transformé en cosinus discret (DCT et DCTInverse)
C'est bon c'est la commande ' reshape' merci | | |