Please, see attached image.
I already, tried bwmorph(img,'bridge'); but it couldn't connect the detached lines.
I don't want to use extreme values of imdilate() since then the original shape and direction of the lines is lost. With extreme values of imdilate() I get thicker lines and this is not something I want to. I want to retain the same thickness but to get them elongated in a way so they can connect.
Any advice please?
Thanks

 Réponse acceptée

KALYAN ACHARJYA
KALYAN ACHARJYA le 17 Sep 2019
Modifié(e) : KALYAN ACHARJYA le 17 Sep 2019

1 vote

"I want to retain the same thickness but to get them elongated in a way so they can connect".
I tried using
se=strel('line',h,v);
result=imdilate(binary_image,se);
After that
use imerode (different structuring element), may be you will get similar to the original shape, with reaching the almost equal thickness.

4 commentaires

Stelios Fanourakis
Stelios Fanourakis le 17 Sep 2019
What are the h,v coefficients in strel?
KALYAN ACHARJYA
KALYAN ACHARJYA le 17 Sep 2019
Modifié(e) : KALYAN ACHARJYA le 17 Sep 2019
Like
se=strel('line',10,2);
% Check with different values, h represents horizantal (borading) pixels
%v represents vertical (borading) pixels
%Test with different values ans structuring elements, you will see the differences
The challenge due to the shape of the lines, which are little curves, not exactly as horizantal line.
Stelios Fanourakis
Stelios Fanourakis le 17 Sep 2019
Yeah. The small gaps filled. However there is a big gap at the upper curve that when I use high values e.g. 45 or 55 for horizontal and 14 for vertical in order to bridge the big gap, they usually tend to lose their shape and direction.
KALYAN ACHARJYA
KALYAN ACHARJYA le 17 Sep 2019
Please look here it may helps

Connectez-vous pour commenter.

Plus de réponses (0)

Community Treasure Hunt

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

Start Hunting!

Translated by