Using Watershed to seperate Ellipsis

4 visualizzazioni (ultimi 30 giorni)
Hi, I habe a problem regarding the watershed-function...
I tried it with circles, which worked basically as I intended.
Now I want to seperate ellipsis, but it doesn't work...
Here's the code I used:
bw = imread('111.jpg'); % read Image
bw=im2bw(bw); % Binarize
bw=~bw; % invert
%% Smooth edges
windowSize = 51;
kernel = ones(windowSize) / windowSize ^ 2;
blurryImage = conv2(single(bw), kernel, 'same');
binaryImage = blurryImage > 0.8; % Rethreshold
%% Using the Watershed function as the Matlab-help suggests
bw = binaryImage;
D = bwdist(~bw);
D = -D;
D(~bw) = Inf;
L = watershed(D);
L(~bw) = 0;
rgb = label2rgb(L,'jet',[.5 .5 .5]);
It doesn't really separate the ellipsis, does it even work for objects that aren't circles?
If it does, has anybody an idea how to solve this problem?
Thanks in advance and best regards
Karsten

Risposta accettata

Image Analyst
Image Analyst il 20 Nov 2018
  1 Commento
Karsten Gros
Karsten Gros il 21 Nov 2018
Hi,
Thanks for the two links, they helped a lot :)
Best regards

Accedi per commentare.

Più risposte (0)

Community Treasure Hunt

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

Start Hunting!

Translated by