change color "bwperim"

5 ビュー (過去 30 日間)
Rahma Yeni
Rahma Yeni 2012 年 4 月 16 日
コメント済み: Markus Kokot 2020 年 12 月 29 日
Hello... I got this code form Help MATLAB, in "Detecting a Cell Using Image Segmentation"
BWoutline = bwperim(BWfinal);
Segout = I;
Segout(BWoutline) = 255;
The edge color of that picture is white.. Is possible change the color to another color..?? Thank you.. ^^

採用された回答

Walter Roberson
Walter Roberson 2012 年 4 月 16 日
You are working with gray-scale images at present. In order to change the edge color you would have to convert the gray-scale to color.
For example,
SegoutR = I;
SegoutG = I;
SegoutB = I;
%now set yellow, [255 255 0]
SegoutR(BWoutline) = 255;
SegoutG(BWoutline) = 255;
SegoutB(BWoutline) = 0;
SegoutRGB = cat(3, SegoutR, SegoutG, SegoutB);
  4 件のコメント
Rahma Yeni
Rahma Yeni 2012 年 4 月 17 日
Thank you Image Analyst.. ^^
Markus Kokot
Markus Kokot 2020 年 12 月 29 日
for me it does not work - which picuture name would than be in the end to show in this example ?
and is "I" the imread picture from your beginning which is not in greyscale?

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

その他の回答 (1 件)

Spandan Tiwari
Spandan Tiwari 2012 年 4 月 16 日
You can change the color by filling the perimeter pixels with a color value instead of a scalar 255. One possible way to do this is as follows:
% First make a RGB image for display:
Segout = repmat(I, [1 1 3]);
% Find indices of the boundary pixels
outline_idx = find(BWoutline);
% Find the indices to fill in the RGB image
Segout_idx = [outline_idx; numel(BWoutline)+outline_idx; ... 2*numel(BWoutline)+outline_idx];
% Select the color (RGB triplet) for the boundary. I choose red.
colorValue = [255; 0; 0]; % For green [0 255 0]
% Prepare a color vector to fill in the RGB image
outline_fill_values = kron(colorValue,ones(size(outline_idx)));
% Fill the RGB image with the color value
Segout(Segout_idx) = outline_fill_values;
% Display the RGB image
figure, imshow(Segout), title('outlined original image');

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by