2017-07-22 5 views
0

J'ai une image qui contient un illuminat. D'abord je recadre la zone que je veux traiter puis la convertir en image binaire. J'utilise le seuillage d'Otsu, mais cela donne un mauvais résultat pour ce problème. Je dois essayer d'utiliser le seuil adaptatif, mais cette méthode dépend de la taille du bloc et du paramètre C (méthode opencv). Que dois-je faire pour obtenir un bon résultat dans ce problème?Seuillage dans l'image de luminance

Image originale, mais je recadre la zone donnée Original image, but I crop the certain area:

Otsu Thresholding résultat

Otsu Thresholding result

+1

Vous pouvez essayer de filtrer l'image avec un filtre passe-bas et soustraire le résultat de l'image originale pour supprimer les "vagues de luminosité" à longue portée. Exemple: https://stackoverflow.com/questions/44047819/ – MBo

+0

Pourquoi utiliser Otsu si vous avez seulement une image? Cela n'a aucun sens. utilisez un seuil manuel ... – Piglet

+0

@MBo Merci pour vos réponses. J'ai essayé à travers ce lien, mais je n'ai pas de différence significative entre l'utilisation de cette méthode ou non. J'ai utilisé dilate avec 21x21 et medianBlur avec 21 pour le paramètre ksize. Est-ce que je manque quelque chose? – Hendra

Répondre

0

seuil adaptatif à ne pas adapté à votre cas. Si vous voulez simplement créer une image binaire avec un fond noir et un texte blanc (et inversement), vous pouvez simplement faire les étapes suivantes:
1-convertir l'image en échelle de gris
2-normaliser
3-utilisez un seuil fixe (entre 0,3 et 0,7)
4-faites un peu d'amélioration morphologique comme l'érosion, la dilatation, l'ouverture et la fermeture pour éliminer le bruit.
seuillage adaptatif utilisé en cas de luminance inégale lorsque vous avez un éclairage dégradé à bord qui n'est pas présent dans votre exemple.

+0

vous n'avez pas besoin de normaliser ou supprimer le bruit si vous utilisez un seuil approprié. sauter 1% des pixels les plus brillants supprimera probablement le texte blanc. aussi je choisirais la saturation sur l'intensité pour cela car le contraste est meilleur. Vos commentaires sur le seuillage adaptatif ne sont pas tout à fait corrects. le principal problème avec son image est l'anisotropie en arrière-plan qui ne peut pas être compensée par une taille de blocs carrés. mais je suppose que vous pourriez trouver des paramètres de travail de toute façon. Considérant cette image unique (il n'en a pas mentionné d'autres) la façon la plus simple serait d'utiliser une baguette magique dans Gimp ... – Piglet

+0

Alors, dans quel cas devrais-je chercher cette image? et comment normaliser l'image en ignorant 1% des pixels les plus sombres et les plus clairs? Merci pour votre réponse. – Hendra

+0

vous pouvez créer un histogramme et prendre une note que 1% des pixels sont ignorés de chaque côté, puis étendre la plage choisie (par exemple 11-238) à la gamme complète (0-255). Dans cet exemple, 1% des valeurs de pixel sont 11 ou moins et après la normalisation, elles deviennent toutes 0. Vous pouvez trouver de nombreux didacticiels sur l'histogramme et la normalisation sur le Web. – Mokhabadi