change color "bwperim"

4 次查看(过去 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