MATLAB Answers

Putting color on binary image

6 views (last 30 days)
Ravin Rayeok
Ravin Rayeok on 28 Feb 2020
Commented: Ravin Rayeok on 28 Feb 2020
Hello!
Need a hand here, I want to color my binary image resulting from thresholding of rgb image.
How to do it? let's say, black to blue and white to green.

Accepted Answer

Guillaume
Guillaume on 28 Feb 2020
Edited: Guillaume on 28 Feb 2020
Here's an easy way, assuming that your start image is indeed a binary image (i.e a 2D matrix with values 0 or 1):
%binaryimage: 2D matrix of 0s and 1s
map = [0 0 1; ...replacement colour for black as a RGB triplet, fully saturated blue in this case
0 1 0]; %replacement colour for white as a RGB triplet, fully saturated green in this case
colouredimage = map(binaryimage + 1 + cat(3, 0, 2, 4));
imshow(colouredimage); %to check
edit: Actually an even easier way, and certainly easier to understand, is with
map = [0 0 1; ...replacement colour for black as a RGB triplet, fully saturated blue in this case
0 1 0]; %replacement colour for white as a RGB triplet, fully saturated green in this case
colouredimage = label2rgb(binaryimage + 1, map);
assuming you have the image processing toolbox.
  1 Comment
Ravin Rayeok
Ravin Rayeok on 28 Feb 2020
Ah i see, thanks a lot!

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!