Joining two curves on an image

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 comentarios

KALYAN ACHARJYA
KALYAN ACHARJYA el 19 de Jun. de 2020
Can you attach little more larger image?
KSSV
KSSV el 19 de Jun. de 2020
Editada: KSSV el 19 de Jun. de 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 el 19 de Jun. de 2020
@Kalyan Acharjya
Here is a larger image.
Muskan Agrawal
Muskan Agrawal el 19 de Jun. de 2020
@KSSV
Can we use fillmissing to join two curves?

Iniciar sesión para comentar.

Respuestas (1)

Divya Gaddipati
Divya Gaddipati el 25 de Jun. de 2020

0 votos

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:

Categorías

Etiquetas

Preguntada:

el 19 de Jun. de 2020

Respondida:

el 25 de Jun. de 2020

Community Treasure Hunt

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

Start Hunting!

Translated by