Bonjour à tous,

et oui le retour. Sauf que cette fois-ci c'est mon code qui ne fonctionne pas.
Enfin, je vous explique :

J'ai mon image :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
>> Im=imread('mon_image.jpg');
>> image(Im(:,:,1))
J'ai transformé mon image dans un premier temps en utilisant ce code pour avoir les trois images équivalentes:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
>>YCBCR=rgb2ycbcr(Im);
>> Y=YCBCR(:,:,1);CB=YCBCR(:,:,2);CR=YCBCR(:,:,3);
>> imshow(Y),figure;imshow(CB);figure;imshow(CR)
Puis celui-ci pour le nouveau rendu:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
>> Y2NTSC=rgb2ntsc(Im);
>> Y2=Y2NTSC(:,:,1);I=Y2NTSC(:,:,2);Q=Y2NTSC(:,:,3);
>> imshow(Y2),figure;imshow(I);figure;imshow(Q)
Y est la Luminance, I et Q les chrominances.

Je dois maintenant construire une image que j'appellerai J ne contenant que des 0. Pour cela, j'ai appliqué le code suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
>>J=Im;
>>tab_zeros=zeros(486,737)
Est-ce le bon procédé pour construire l'image?


Maintenant, je dois reconstruire mon image en utilisant l'instruction ntsc2rgb à partir des combinaisons J,I,Q ; Y2,J,Q ; Y2,I,J

Je pensais alors utiliser ce code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
>> JRGB=ntsc2rgb(Im);
>> J=JRGB(:,:,1);I=JRGB(:,:,2);Q=JRGB(:,:,3);
>> imshow(J),figure;imshow(I);figure;imshow(Q);
Mais cela équivaut à trois images, et non pas à une seule. Alors ma question est la suivante : "Comment peut-on reconstruire une image?"
J'ai beau cherché et ça doit être simple, mais Matlab me pose de sérieux problèmes de compréhension.

Merci de m'éclairer sur la sombre voie de la connaissance.