I am trying to detect curves with a pre-determined shaped from a dataset. The input image will be similar to the following picture: data.png
I want to find a line through the left-most and right-most points, as roughly indicated in the following picture:
data_lines.png
So far, I can imagine two ways to get this result:
  • First find a way to extract the left-most points and right-most points and using a 3rd/5th degree polynomial or a hyperbolic sine fit through these points.
  • Using something like a hough transform but applying it for curved lines.
So far, I have not found a good way to get the results I need, also caused by the fact that the data set is quite large [8890x1312] (above images are stretched in the x direction), making it extremely slow to loop over each pixel.
Do you guys have any ideas to tackle this problem?

댓글 수: 2

Zihan Wu
Zihan Wu 2019년 7월 9일
Hi Sebbe,
I have the same problem with yours. How did you solve this problem in the end?
Thank you!
Image Analyst
Image Analyst 2019년 7월 10일
He accepted the answer below so I assume that is what he used. If boundary() is not working for you, then please post your image in a new question.

댓글을 달려면 로그인하십시오.

 채택된 답변

Image Analyst
Image Analyst 2018년 11월 24일

2 개 추천

Try boundary()

추가 답변 (0개)

질문:

2018년 11월 24일

댓글:

2019년 7월 10일

Community Treasure Hunt

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

Start Hunting!

Translated by