bwboundaries - label each object with different color
6 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Ely Raz
am 14 Okt. 2013
Beantwortet: Image Analyst
am 14 Okt. 2013
Hi,
In this example below the labeled objects are shown using the jet colormap, on a gray background, with region boundaries outlined in red.
Therefore, how can I change the background to white and label each object with different color?
%based on http://www.mathworks.es/es/help/images/ref/bwboundaries.html
I = imread('rice.png');
BW = im2bw(I, graythresh(I));
[B,L] = bwboundaries(BW,'noholes');
imshow(label2rgb(L, @jet, [.5 .5 .5]))
hold on
for k = 1:length(B)
boundary = B{k};
plot(boundary(:,2), boundary(:,1), 'r', 'LineWidth', 2)
end
Cheers and thanks.
0 Kommentare
Akzeptierte Antwort
Image Analyst
am 14 Okt. 2013
Yes, a list of standard colors is given here: http://en.wikipedia.org/wiki/List_of_colors Hover over the color to find the rgb values. Then replace 'r' in your code with the color you want. Or you can use a row from a built-in colormap, such as myColorMap(k, :).
myColorMap = jet(length(B));
for k = 1:length(B)
boundary = B{k};
plot(boundary(:,2), boundary(:,1), 'Color', myColorMap(k,:), 'LineWidth', 2)
end
0 Kommentare
Weitere Antworten (1)
Anand
am 14 Okt. 2013
The third input to label2rgb is the specification for zero-color, i.e. the background.
You can specify a black background by replacing the call to imshow with the call below:
imshow(label2rgb(L, @jet, [0 0 0]))
2 Kommentare
Siehe auch
Kategorien
Mehr zu White finden Sie in Help Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!