How to extract specific edges from an image?
2 次查看(过去 30 天)
显示 更早的评论
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:
- How to remove unnecessary edges out of the image. Please suggest me a way to get only those three edges? (without manual intervention)
- 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.
0 个评论
采纳的回答
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
2020-7-9
Try a threshold that gets all the edges then use bwselect() to manually pick out the one you want.
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Image Processing and Computer Vision 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!