How can I color all objects as the same in an image where several objects have been extracted in the form of a label matrix?
2 views (last 30 days)
Show older comments
I don't want the objects to be of different colors - I want them all the same shade of red (or white or blue). How can I achieve this?
1 Comment
Matt J
on 7 Jan 2022
It is advisable in the forum to post code as text, rather than as an embedded image. That way, contributors can more easily copy/paste it.
Accepted Answer
Image Analyst
on 8 Jan 2022
You don't need bwlabel(), label2rgb(), or colormaps. You can simply use imoverlay:
grayImage = imread('rice.png'); % A gray scale image.
mask = bwareaopen(imbinarize(grayImage, 'adaptive'), 8); % A binary/logical image.
% Overlay the mask onto the original image.
rgbImage = imoverlay(grayImage, mask, 'r'); % Creates a new RGB image.
imshow(rgbImage)
0 Comments
More Answers (1)
Matt J
on 7 Jan 2022
Edited: Matt J
on 7 Jan 2022
Bianrize the labels,
RGB_label-label2rgb(labeled>0,___);
imshow(RGB_labels);
1 Comment
yanqi liu
on 8 Jan 2022
Edited: yanqi liu
on 8 Jan 2022
yes,sir,it is great mehod,may use code to check it
clc; clear all; close all;
im = imread('rice.png');
bw = bwareaopen(imbinarize(im, 'adaptive'), 8);
[labeled,num] = bwlabel(bw);
% make to one label
RGB_labels=label2rgb(labeled>0);
figure; imshow(RGB_labels);
% self define colorm map
cmap = ones(num, 3); cmap(:, 1:2) = 0; cmap(1,1) = 0;
RGB_labels2=label2rgb(labeled,cmap);
figure; imshow(RGB_labels2);
See Also
Categories
Find more on Display Image in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!