J'essaie de trouver un algorithme (ou des idées d'algorithme) pour suivre une crête sur une image 3D, dérivée d'un modèle d'élévation numérique (DEM). J'ai réussi à obtenir un programme très basique fonctionnant juste à travers chaque ligne de l'image marquant une ligne de crête où il trouve un grand changement d'aspect (par exemple de < 180 degrés à> 180 degrés). Cependant, les lignes que cela produit ne sont pas brillantes, il y a souvent des lacunes et divers artefacts étranges. J'espère essayer d'étendre cela en utilisant une sorte d'algorithme pour suivre les lignes de crête, produisant ainsi des lignes complètes (c'est-à-dire sans lacunes) et plus précises.Algorithme pour suivre le chemin des arêtes sur une image 3D
Un certain nombre de personnes ont mentionné des algorithmes de serpent, mais ils ne semblent pas être tout à fait ce que je cherche. J'ai aussi fait beaucoup de recherches sur les algorithmes de recherche de chemin, mais encore une fois, ils ne semblent pas être la bonne chose à faire.
Est-ce que quelqu'un a des suggestions pour les types ou les algorithmes ou les algorithmes spécifiques que je devrais regarder?
Mise à jour: On m'a demandé d'ajouter plus de détails sur la zone exacte à laquelle je vais appliquer cela. Il travaille avec des données d'altitude quadrillées de dunes de sable. J'essaie d'extraire les crêtes si ces dunes ressemblent aux limites entre les bassins versants, mais peuvent être beaucoup plus complexes (par exemple, il peut y avoir plusieurs dunes de sable très proches les unes des autres avec des crêtes qui se confondent graduellement)
Vous n'avez pas été très clair sur vos besoins ou votre application. Si c'est la définition du bassin de drainage par rapport aux «sentiers de randonnée difficiles», vos besoins seront différents. Quelle est votre définition de la crête? Compte tenu de votre définition de crête, nous pouvons commencer à identifier les algorithmes appropriés. – John
Merci. J'ai édité la question pour élaborer un peu. – robintw
La réponse de Nav ci-dessous est la plupart du temps correcte.Vous pouvez facilement trouver les arêtes en extrayant la courbure de la surface, puis en regardant la courbure maximale. Heres un exemple de code http://www.mathworks.com/matlabcentral/fileexchange/11168-surface-curvature. – twerdster