Merge RGB image and grayscale image MATLAB

2 次查看(过去 30 天)
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.

采纳的回答

Guillaume
Guillaume 2017-10-24
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 个评论
Guillaume
Guillaume 2017-10-25
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, []).
Penny
Penny 2017-10-26
Hello Guillaunme, I did it by using overlay code, because that is what I actually want. Thanks very much for your answer.

请先登录,再进行评论。

更多回答(0 个)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by