J'essaie de détecter le bord de la ligne horizontale noire au premier plan maculé de gris. Le bord/résultat souhaité est légèrement marqué en rouge.Comment trouver le bord de la ligne sombre à la zone grisée
Qu'ai-je essayé jusqu'à présent:
Mon approche était d'utiliser la Segmentation norme Chan-Vese combiné avec plusieurs méthodes preprocseeing comme estompement gaussienne, filtre maximum ou opérateur morpholigocal comme l'érosion. Cependant, lorsque j'initialise la fonction de jeu de niveaux dans la partie inférieure de l'image, le contour est bloqué juste avant le bord de départ.
En raison du bruit que je ne peux pas me débarrasser sans détruire des informations importantes de l'image, des méthodes simples comme le filtrage Sobel ou Prewitt risque d'échouer. Une autre idée de moi était de rechercher l'intensité maximale/minimale par colonne de l'image et de marquer le pixel le plus sombre par colonne. Comme vous pouvez le supposer, cela échouera aussi parce que le bord que je cherche n'est pas la seule partie qui a des pixels sombres, c'est pourquoi cette méthode est très sujette aux erreurs.
Modifier
Les serpents ne vous aide pas non plus.
Le contour actif, marqué comme bleu, va tout simplement sur le bord et à gauche et à droite le contour est bloqué. Le code que j'ai essayé était la fonction Snake2D (I, P, Options) prise de here.
Voici l'image originale si vous souhaitez m'aider.
Salut! De nombreux programmes OCR utilisent [filtrage Gabor] (https://en.wikipedia.org/wiki/Gabor_filter) pour la détection des contours. Peut-être que vous devriez chercher cette approche. – jkalden
Avez-vous essayé des contours actifs (aka serpents)? –
Je n'ai pas encore essayé les serpents. Les informations de gradient qui y sont incluses pourraient être utiles pour le bord désiré. Je vais éditer ou répondre à ma question si cela a aidé ou non. –