J'ai une image
Existe-t-il un moyen d'éliminer les taches blanches brillantes? S'il vous plaît aider merci
Éditer:
Après avoir opéré avec gaussien puis affiché à l'aide d'imagesc, obtenez la sortie suivante qui montre clairement les taches rouges vives Comment puis-je m'en débarrasser
Canal rouge:
Circuit Vert:
Canal bleu:
Modifier 2:
Détection de défauts à l'aide du filtre Gabor
Son histogramme:
Comment calculer son seuil approprié de manière adaptative.?
Réponses:
Supposons que les parties éblouissantes sont les seules zones saturées de l'image. La détection peut être effectuée en seuillant l'intensité (code dans Mathematica):
Ensuite, il suffit de remplacer les parties de l'image autour du masque de saturation (l'agrandissement du masque se fait par la fonction morphologique
Dilation
). Inpainting utilisant la synthèse de texture (en utilisant la fonctionInpaint
) semble bien fonctionner dans cet exemple, bien que je ne puisse pas le tester en entrée de votre algorithme de détection de défaut:la source
Cela peut être un peu une réponse simpliste, mais pourriez-vous simplement seuil? par exemple:
résulte en:
Il serait évidemment préférable de sélectionner le seuil de manière adaptative. Par exemple, vous pouvez regarder l'histogramme de l'image:
et essayez de sélectionner un seuil approprié en fonction de cela.
la source
Sans informations d'éclairage, c'est difficile. Cependant, si la forme de l'objet dans l'image est connue, vous pouvez configurer un modèle de forme de l'éblouissement blanc (gaussien) et faire une fenêtre coulissante pour trouver une détection possible de l'éblouissement (suivie d'un mélange des couleurs de la zone adjacente). Sur le plan de la perception, nous déduisons la forme 3D à partir d'images à l'aide d'un ombrage. Si la forme de l'ombrage est capable de donner le gradient de surface, nous pourrions faire une fenêtre coulissante et vérifier notre modèle d'éblouissement à chaque emplacement.
Après détection de bord rusé: -
Fondamentalement, le chevauchement (zone de chevauchement maximale) entre l'image # 1 et # 2 sera le défaut.
la source
Mon avis est qu'il s'agit d'un problème de vision industrielle dans lequel vous devez contrôler l'éclairage et avoir une bonne idée de la luminosité maximale d'une luminosité de pixel non éblouissante dans l'image. La détection des défauts est généralement un problème de vision industrielle plutôt qu'un problème de vision par ordinateur.
Ce que nous voyons à la suite de l'éclairage est un ajout de réflexions de lumière spéculaires et diffuses (plus une certaine émittance mais son négligeable ici).
La composante spéculaire est l'éblouissement, sur une surface brillante comme cette pomme, c'est bien plus que la réflexion diffuse (> 10x)
Cela signifie que si vous configurez votre éclairage, gain et exposition avant cela, sur une surface diffuse, vous pouvez être sûr que rien ne sera même proche de saturé. Donc, utiliser un seuil fixe est en fait la solution préférée ici, tant que vous avez prouvé avec suffisamment de données qu '"aucun pixel ne contenant pas d'éblouissement" ne serait supérieur au seuil. Essentiellement, vous configurez les conditions d'éclairage et les paramètres de la caméra de telle sorte que la classification d'un pixel devient triviale, dans ce cas effectuée par un simple seuil, plutôt que par une fonction d'apprentissage machine plus complexe des pixels autour.
J'aime l'approche de "vini", pas vraiment besoin de montrer les plans RVB. Un simple seuil en niveaux de gris fonctionnerait réellement ici.
1- vous concevez les conditions d'éclairage, pas ambiantes
2- rendre le travail de classification extrêmement trivial (seuillage)
3- Mesurer la fonction
4- comparer à la tolérance
la source
Convertissez d'abord en espace colorimétrique de laboratoire, mapminmax, puis utilisez le premier canal de luminosité. Cela réduit les problèmes de couleur. Ensuite, utilisez un seuil sur les 80% de pixels les plus brillants. Vérifiez et testez un creux dans l'histogramme, le meilleur seuil est près du bas du creux. S'il n'y a pas de min local dans cette région, votre image a probablement des reflets minimes ...... Martin
la source