how to change the color of one pixel in a binary image ?
7 次查看(过去 30 天)
显示 更早的评论
i want to change the color of one pixel of a binary image.for example change a white pixel to red.would you pleaz help me?
0 个评论
回答(2 个)
Image Analyst
2015-12-27
You can convert it to a color image and then set the pixel to red, like harjeet did. Of course I hope you know that the RGB image is no longer a binary image, so don't use that in any further processing, like pass it to regionprops() or bwconncomp() or something.
An alternative is to just plot a red dot over the pixel.
imshow(binaryImage); % Display it.
% Plot a red dot at row 30, column 173
hold on;
plot(173, 30, 'r.', 'MarkerSize', 10);
Make the marker size whatever you want. This does not create a new color image and does not change the binary image, it just plots a red dot in the overlay above the image. The two solutions so far will both make a red pixel on the displayed image at the designated position, but they do it in different ways. Pick whichever solution does it in the way you want most.
0 个评论
harjeet singh
2015-12-27
hello fariba you may use this code
clear all
close all
clc
a=100;
img(1:a,1:a)=0;
img=logical(img);
pixel_val=[50 50;50 10;20 30];
for i=1:size(pixel_val)
rgb_img(pixel_val(i,1),pixel_val(i,2),:)=[255 0 0];
end
figure(1)
imshow(rgb_img);
drawnow
2 个评论
Anuruddha Jayasuriya
2018-7-19
Hi, harjeet singh. In your code, can you tell what is the purpose of defining a=100. Also what does img=logical(img) do in this code.
Thanks!
Dzung Nguyen
2019-3-20
编辑:Dzung Nguyen
2019-3-20
a = 100 is just there to set the dimension of img later in the next line.
img=logical(img) --> see https://www.mathworks.com/help/matlab/ref/logical.html
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!