MATLAB Answers

Joining two curves on an image

2 views (last 30 days)
Muskan Agrawal
Muskan Agrawal on 19 Jun 2020
Answered: Divya Gaddipati on 25 Jun 2020
There is an input image of a metal surface with lots of curves on it. I have used ' bwlabel ' function of MATLAB to identify all the curves of the image. Hence, each curve has its unique ID. Now my task is to connect two cruves which have gap between them. That is, there are two disjoint curves i.e. there is no connectivity between them, but I need to connect them and make them into a single curve.
E.g. In the above image, in the marked region, there are two disjoint curves which I would like to join.
Basically, I want a curve to be drawn joining those two curves.

  4 Comments

Show 1 older comment
KSSV
KSSV on 19 Jun 2020
Make the x-values continuous, give y-valyes as NaN's and use fillmissing.
Or you can try some interpolation schemes.
Muskan Agrawal
Muskan Agrawal on 19 Jun 2020
@Kalyan Acharjya
Here is a larger image.
Muskan Agrawal
Muskan Agrawal on 19 Jun 2020
@KSSV
Can we use fillmissing to join two curves?

Sign in to comment.

Answers (1)

Divya Gaddipati
Divya Gaddipati on 25 Jun 2020
You can use imdilate to make the lines come closer to each other. This will increase the width of the lines as well. To reduce them back to their original, you can then use bwskel.
For more information of imdilate and bwskel, you can refer to the following links:

  0 Comments

Sign in to comment.

Tags

Community Treasure Hunt

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

Start Hunting!