enregistrement de gris des images au format JPEG à l'aide de Matlab imwrite
Je suis nouveau dans le monde du traitement de l'image et voudrais demander de l'aide avec un problème que je ne pouvais pas comprendre. La question est comme suit:
J'ai un gris (noir et blanc) l'image 'grayimage" je veux sauvegarder à l'aide de la imwrite
fonction dans Matlab en utilisant le format JPEG. Je suis l'aide de la syntaxe suivante:
imwrite(grayimage,cmap, 'imagename.jpg', 'jpeg');
Maintenant, quand j'ouvre le fichier image imagename.jpg l'aide de l'image de téléspectateurs, je ne vois pas une image en nuances de gris. Il est de couleur et une image différente que celle souhaitée.
Quelqu'un peut-il suggérer ce que je fais de mal et les options /paramètres, je suis absent en imwrite
?
J'ai pensé à la conversion de l'image en RGB et l'enregistrer en format jpeg. Cela aidera?
Vous devez vous connecter pour publier un commentaire.
Où est-ce que votre cmap vient d'où? C'est probablement une "couleur" palette de couleurs. Essayez d'utiliser un gris palette de couleurs:
Plus d'infos sur la palette de l': http://www.mathworks.se/help/techdoc/ref/colormap.html
il me semble que vous avez une image indexée, avec une palette de couleurs. Vous pouvez utiliser le IND2GRAY fonction pour convertir une image en niveaux de gris avant de l'enregistrer sur le disque à l'aide de IMWRITE:
Bienvenue dans le monde de la compression avec perte.
Si vous voulez simplement en niveaux de gris jpeg, probablement la plus simple serait d'installer le
jpegtrans
programme et d'utiliser ses-grayscale
option de jouer avec le canal de chrominance de l'image:Une meilleure option serait de sortie à l'aide d'un lossless format de compression comme png.
(Merci à la page de Wikipedia sur la compression avec perte pour une taille parfaite de la couleur de l'image à la tripoter.)