How to extract specific edges from an image?

조회 수: 4 (최근 30일)
Harshan Desu
Harshan Desu 2020년 5월 6일
댓글: Harshan Desu 2020년 7월 14일
Hello eveyone, I have an image of a car door from which I have to find generate a trajectory from specific edges of the car door. Let me expain the detail about my project.
Project: Finding the edges of a door and used those edges as a trajectory for a sensor that checks edges for Gap/Flush.
Principle: I used Savitzky Golay, Edge Linking and Line Segment Fitting (https://www.peterkovesi.com/matlabfns/#step2line).
Method I used: Image Analyst's Savitzky filter smoothening at three diffrent thresholds, obtain three images and blend them. The output is again processed to Edge linking and line segmenting program.
After all this I am not able to get good edges, its either not smooth or has a lot of unnecessary edges. But the main problem is I am getting a lot of unnecessary edges in the image. To get a Trajectory I need only Three specific edges which I have marked by hand below in red.
Questions:
  1. How to remove unnecessary edges out of the image. Please suggest me a way to get only those three edges? (without manual intervention)
  2. How to smoothening those edges and join them so that i can use it as trajectory for another program?
I have attached the images of input and output. Sorry for the long question.

채택된 답변

Image Analyst
Image Analyst 2020년 5월 7일
If you have an edge image with a bunch of edges but want edges from only certain locations, you maybe best off using a mask/template to erase everything outside the areas you want to look in.
  댓글 수: 10
Image Analyst
Image Analyst 2020년 7월 9일
Try a threshold that gets all the edges then use bwselect() to manually pick out the one you want.
Harshan Desu
Harshan Desu 2020년 7월 14일
The enitre process has to have no manual interverntion. Thanks for the Idea anyways!

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

추가 답변 (0개)

Community Treasure Hunt

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

Start Hunting!

Translated by