how to change the color of one pixel in a binary image ?
5 ビュー (過去 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!