필터 지우기
필터 지우기

how to change the color of one pixel in a binary image ?

조회 수: 11 (최근 30일)
fariba amini
fariba amini 2015년 12월 27일
편집: Dzung Nguyen 2019년 3월 20일
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?

답변 (2개)

Image Analyst
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.

harjeet singh
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
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
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.

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Lighting, Transparency, and Shading에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by