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?

3 ビュー (過去 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);

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

カテゴリ

Help Center および File ExchangeBlue についてさらに検索

製品


リリース

R2020b

Community Treasure Hunt

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

Start Hunting!

Translated by