Ajuster une image sur matlab
ali
-
ali -
ali -
Bonjour,
je suis débutante en matlab. J'essaye d'ajuster une image RGB. Pour ce faire j'essaie donc de multiplier la matrice 3D de dimension (72x72x3) M représentant mon image par une matrice 2D (3x3) appelée S. Le probleme est que S est représentée horizontalement et verticalement et que je souhaite la multiplier (représentant les valeurs RGB de chaque pixel) à un vecteur en profondeur. Je ne sais pas comment faire pour résoudre le problème. C'est sans doute très simple mais je suis bloquée. Voila le début de mon programme.
S = [1.9695 -0.4340 -0.5407;
-0.6036 2.3376 -0.4101;
-0.1960 -0.7182 2.3712]
for i=1:72
for j=1:72
V1(i,j,:)=M(i,j,:)*S
end
end
Le but étant d'avoir à la fin une matrice V (72x72x3) dont les couleurs ont été modifiée.
Merci d'avance de votre aide
je suis débutante en matlab. J'essaye d'ajuster une image RGB. Pour ce faire j'essaie donc de multiplier la matrice 3D de dimension (72x72x3) M représentant mon image par une matrice 2D (3x3) appelée S. Le probleme est que S est représentée horizontalement et verticalement et que je souhaite la multiplier (représentant les valeurs RGB de chaque pixel) à un vecteur en profondeur. Je ne sais pas comment faire pour résoudre le problème. C'est sans doute très simple mais je suis bloquée. Voila le début de mon programme.
S = [1.9695 -0.4340 -0.5407;
-0.6036 2.3376 -0.4101;
-0.1960 -0.7182 2.3712]
for i=1:72
for j=1:72
V1(i,j,:)=M(i,j,:)*S
end
end
Le but étant d'avoir à la fin une matrice V (72x72x3) dont les couleurs ont été modifiée.
Merci d'avance de votre aide
A voir également:
- Ajuster une image sur matlab
- Légender une image - Guide
- Image iso - Guide
- Comment rechercher une image sur google - Guide
- Mettre une image en filigrane sur word - Guide
- Reduire taille image - Guide
2 réponses
Salut,
Si j'ai bien compris, vous voulez modifier les couleurs de votre image RGB par un coefficient pour chaque couleur.
si c'est le cas, vous n'avez pas besoin d'une S (3x3). votre facteur multiplicateur est un vecteur à une dimension, disant (3x1).
Car pour chaque point de votre image, il existe une 3e dimension: vecteur de 3 valeurs (R, G, et B).
et dans ce cas, il faut noter aussi qu'il s'agit d'une multiplication point par point et non de vecteur, donc utilisez le (.*) et non pas (*).
Voilà , j'espère que ces lignes vont vous aider. Bonne continuation.
Si j'ai bien compris, vous voulez modifier les couleurs de votre image RGB par un coefficient pour chaque couleur.
si c'est le cas, vous n'avez pas besoin d'une S (3x3). votre facteur multiplicateur est un vecteur à une dimension, disant (3x1).
Car pour chaque point de votre image, il existe une 3e dimension: vecteur de 3 valeurs (R, G, et B).
et dans ce cas, il faut noter aussi qu'il s'agit d'une multiplication point par point et non de vecteur, donc utilisez le (.*) et non pas (*).
Voilà , j'espère que ces lignes vont vous aider. Bonne continuation.
Merci de me répondre. Je veux réaliser une multiplication matricielle entre le vecteur V comprenant 3 valeurs et la matrice S, ce n'est pas une multiplication point par point.
Le problème est le sens du vecteur: V est un vecteur en profondeur. Je n'arrive donc pas à multiplier V*S alors qu'à la main ca serai très simple. Comment changer le sens de ce vecteur, ou comment tourner la matrice M de facon à de que V(i,j,:) soit horizontal?
Le problème est le sens du vecteur: V est un vecteur en profondeur. Je n'arrive donc pas à multiplier V*S alors qu'à la main ca serai très simple. Comment changer le sens de ce vecteur, ou comment tourner la matrice M de facon à de que V(i,j,:) soit horizontal?