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?

8 ビュー (過去 30 日間)
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 件のコメント
Matt J
Matt J 2022 年 1 月 7 日
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.

サインインしてコメントする。

採用された回答

Image Analyst
Image Analyst 2022 年 1 月 8 日
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)

その他の回答 (1 件)

Matt J
Matt J 2022 年 1 月 7 日
編集済み: Matt J 2022 年 1 月 7 日
Bianrize the labels,
RGB_label-label2rgb(labeled>0,___);
imshow(RGB_labels);
  1 件のコメント
yanqi liu
yanqi liu 2022 年 1 月 8 日
編集済み: yanqi liu 2022 年 1 月 8 日
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);

サインインしてコメントする。

製品


リリース

R2020b

Community Treasure Hunt

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

Start Hunting!

Translated by