Je développe une application de vision qui utilise le nuancier ci-dessous et la caméra pour extraire la couleur de chaque patch du nuancier. Pour ce faire, je dois d'abord détecter la zone du graphique dans une image et faire correspondre la zone avec le modèle existant qui contient les emplacements des correctifs.
Ma question: je dois détecter la zone du patch de couleur en reconnaissant les quatre coins du graphique. Vous pouvez voir les coins que les petits rectangles encadrés indiquent dans l'image ci-dessous. Je sais qu'une façon de procéder consiste à laisser l'utilisateur sélectionner ces coins en cliquant dessus. Mais existe-t-il un moyen de détecter automatiquement les quatre coins de l'image?
image-processing
Tae-Sung Shin
la source
la source
Réponses:
Vous pouvez loger des lignes épaisses pour détecter la zone de couleur
la source
Chaque réseau 2D d'une composante de couleur (RVB, et al.) Est assez contrasté et distinctif. Je pourrais donc essayer d'utiliser une FFT 2D complexe de chaque composante de couleur pour déterminer l'échelle et le décalage de l'image photo par rapport à celui d'une image de référence. Ensuite, utilisez-les pour ajuster les coordonnées mesurées / connues des coins et / ou des patchs dans l'image de référence pour produire des coordonnées dans la photo.
Vous devrez peut-être mesurer directement certaines coordonnées sur une image de référence à l'aide d'un éditeur de bitmap.
la source
Dans un premier temps - je supprimerais tout le fouillis de gris et de texte. En partant des quatre côtés, je m'arrêterai jusqu'à ce que la majorité des pixels soient de couleur "grise" uniquement connue.
Cela ne vous laissera que le damier composé de différentes couleurs. Vous attendez environ 22x12 - environ 264 couleurs.
Une méthode la plus simple serait d'appliquer un algorithme de palatalisation plus simple. Si vous devez traduire cela dans une image GIF - il applique une quantification des couleurs avec chaque groupe de couleurs représenté comme la couleur du centroïde.
Ce serait particulièrement facile dans votre cas, car la source est déjà une sorte de palais et vous pouvez faire une bonne estimation décente pour commencer.
Regarde ça:
NeuQuant: http://members.ozemail.com.au/~dekker/NEUQUANT.HTML
Octree Color Quantization: http://www.cubic.org/docs/octree.htm . Voir aussi cela .
Ce ne sont que quelques références; mais vous trouverez du code prêt à l'emploi dans la plupart des bibliothèques qui utilisent de tels formats d'image. (BMP, PNG et GIF prennent en charge ces représentations). Consultez également libpng et libjpeg pour quelques implémentations rapides.
la source
Pourquoi ne pas chercher les limites du graphique au lieu des coins? Vous pouvez essayer d'utiliser un détecteur de bord, puis trouver des lignes droites à l'aide de la transformation de Hough.
la source