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.. ^^

 采纳的回答

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 个评论

Great.. Thank you Mr. Walter..
and, how to change the line width..?? because, when i tried it to my case, it's so thin..
thank you.. ^^
Run imdilate on BWoutline.
thickOutlines = imdilate(BWoutline, true(3));
Thank you Image Analyst.. ^^
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 个)

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');

类别

帮助中心File Exchange 中查找有关 Image Processing Toolbox 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by