Looking for algorithm for edge tracking of feasible solution space.

2 vues (au cours des 30 derniers jours)
RYAN MOORE
RYAN MOORE le 9 Jan 2018
Commenté : RYAN MOORE le 12 Jan 2018
I am working on a problem where given some 2D space of solutions (although I will eventually want to look at higher dimensions) I need to find the space of solutions that is achievable. I am currently just doing a grid search of the space and scatter plotting the results (example in the picture below) however the space is continuous so I really only need the edge. My data would be more useful if I can simple find and follow the edge of the solution space at a higher resolution.
My real question is; are there any algorithms or theories I can look into to solve this kind of problem? Searches for Boundary tracing, edge tracing, edge mapping, etc. all result in information about edge detection for image processing.
All I need to do is start at a point that I know is feasible and then follow a line to a boundary and work my way around but I’m sure there are more efficient techniques and methods that will save time and processing power.
Thanks,
Ryan

Réponses (1)

Matt Sprague
Matt Sprague le 12 Jan 2018
Modifié(e) : Matt Sprague le 12 Jan 2018
Based on the figure provided and assuming the data follows a similar pattern across time, a threshold method should be able to extract the green region displayed. This would extract the full green region as a logical true and could then be used with "bwperim" to extract only the edge values. The Color Thresholder App could help in this process
Treating the figure attached as an image I had good results with the following code by applying a threshold on the red color channel:
BW = data(:,:,1) <= 128;
edgevalues = bwperim(BW);
imshow(edgevalues)
  1 commentaire
RYAN MOORE
RYAN MOORE le 12 Jan 2018
Thanks for the response!
However, I dont think it solves the problem I am trying to solve.
My issue is that creating the image above was a scatter plot of 90,000 points, each taking several seconds to compute. I only really care about the border of the green region and so I want to focus my computing power on getting a higher resolution outline of the region. As it is now there are only a few hundred dots that makeup the border, meaning im spending 99% of my resources on unneeded data.
The algorithm I am currently trying to implement is similar to what a wheeled robot might use to map the outside of a room, but I was hoping someone might have a more efficient method or algorithm to complete the task and get a high resolution outline of the area.
Again, high resolution in terms of the amount of data points making the outline of the green area not high resolution as in image quality.

Connectez-vous pour commenter.

Community Treasure Hunt

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

Start Hunting!

Translated by