Merge RGB image and grayscale image MATLAB
2 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Hi Guys. I have a grayscale image with size of 256*256. Pixels are shown in black, white,gray. Now I want to make the center pixel to red, but other pixels remain the same to before. Anybody can help me?
Thanks a lot.
0 commentaires
Réponse acceptée
Guillaume
le 24 Oct 2017
rgbimage = repmat(yourgrayimage, [1 1 3]);
rgbimage(floor(end/2), floor(end/2), :) = [1 0 0]; %if image is of class double; [255 0 0] if uint8
3 commentaires
Guillaume
le 25 Oct 2017
What is the class of your original image, what is the range of gray values in that image, what exact code did you use to set that red pixel and what exact code are you using to display the image?
The result you show would happen if the range of grey values in your original image was 0-255 and yet your image was of type double (it should be uint8 if intensity range is 0-255) and you use plain imshow(rgbimage) to display the image.
If that is the case, then assign [255 0 0] to that centre pixel and use imshow(rgbimage, []).
Plus de réponses (0)
Voir également
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!