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.

  0 Comments

Sign in to comment.

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!