Visboundaries usage- red outline

hi i wrote this code
BW = imread('picture'.png)
B = bwboundaries(BW);
figure;
imshow(BW);
hold on;
visboundaries(B)
when i run this, the figure comes out and the boundaries show up but there is a red outline on the border of the image itself. how do i get rid of this line? I have attached a picture to show which line i mean
thank you very much!

Risposte (2)

bwboundaries() is meant to work on a binary image, not a gray scale one. So, because you passed it a gray scale image, it took the white part as the foreground region and visboundaries() drew the boundaries around the white regions. To fix, try this
grayImage = imread('picture'.png)
BW = grayImage < 250; % or some value that works.

3 Commenti

Sang Wan Kim
Sang Wan Kim il 16 Mar 2016
Modificato: Sang Wan Kim il 16 Mar 2016
oh sorry about that! wrong picture. i did the bwboundaries on a binary image and i just showed it on the greyimage! i have attached a picture of it showing on the the binary image.
Again, it's outlining the white areas because white is foreground. If you don't want that, then invert BW before you call bwboundaries(). See what I did. I took the dark areas, not the bright areas.
ah i see!! that makes sense.... Thank you very much

Accedi per commentare.

hupaa san
hupaa san il 3 Ago 2016

0 voti

Hi, I run matlab example of 'activecontour' command on matlab version R2013a. but when I write 'visboundaries' command it show me this error:
Undefined function 'visboundaries' for input arguments of type 'char'.
and when I enter 'doc visboundaries' in command line window,there is no doc for 'visboundaries' in my matlab too. could u please guide me?
Thanks

1 Commento

You can get it when you upgrade. It was introduced in R2015a. Please upgrade, or else use plot().

Accedi per commentare.

Richiesto:

il 16 Mar 2016

Commentato:

il 3 Ago 2016

Community Treasure Hunt

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

Start Hunting!

Translated by