9
votes

Meilleur seuil pour la convertir en niveaux de gris en noir et blanc

Quelle est la meilleure façon de comprendre automatiquement le meilleur seuil pour convertir une image en niveaux de gris en noir et blanc? Je peux comprendre de très bonnes valeurs seules à la main, mais je voudrais automatiser la valeur de seuil.

Edit: J'ai lu un peu de ce problème et en regardant l'histogramme de l'image peut vous aider, par exemple. Si l'image a un histogramme bi-modal, le choix d'un seuil entre les modes semble être raisonnablement. Cependant, pour des histogrammes multimodaux ou plats, il semble plus compliqué. Donc, je pense que j'ai encore plus de lecture à faire. Merci à tous ceux qui ont répondu!


0 commentaires

6 Réponses :


1
votes

Quels sont vos critères pour un "bon" seuil? Vous voudrez peut-être commencer par l'intensité moyenne de niveau gris de l'image ...


0 commentaires

1
votes

Je penserais que le seuil dépendrait de l'obscurité moyenne (ou de la distribution des couleurs) sur chaque image de manière indépendante. Si vous allez avec une valeur arbitraire, vous finirez par perdre beaucoup de données si l'image a commencé assez bien lavée.

En outre, vous pouvez imiter certaines des grises de gris en peuplement de peuplement une zone de noir et de blanc. 50% gris est un damier de tous les autres, 75% vous colorez dans la moitié des places blanches restantes, 25% vous êtes invert noir et blanc, etc.

Je ne pense pas qu'il y ait une réponse correcte pour cette question sans envisager chaque image individuellement.


0 commentaires

5
votes

0,5 finit généralement par perdre beaucoup d'informations à moins que l'image d'origine soit extrêmement brillante. En fait, tout seuil absolu gâchera un type d'images ou une autre.

Une meilleure méthode serait de créer un histogramme de luminosités et de choisir un seuil près du mode. Cela devrait mieux fonctionner sur la plupart des images que tout seuil absolu.


3 commentaires

Désolé, mais pouvez-vous expliquer, que voulez-vous dire quand vous dites: "Choisissez un seuil près du mode"?


Le mode est cette luminosité qui survient le plus souvent dans l'image.


Pour une référence future, le mode est la moyenne.



1
votes

La demi-teinftone basée sur le seuil entraîne généralement beaucoup de perte d'informations. Selon le but, vous voudrez peut-être envisager Dithering .

J'aime le look du filtre Stucki, car il est net et conserve des détails. Voici un projet C # qui implémente l'algorithme. Vous pouvez télécharger la source si vous étiez intéressé.


0 commentaires

3
votes

Je regarderais un algorithme de seuillage adaptatif. Un tel, qui n'est pas très difficile à mettre en œuvre est OTSUS Méthode .

Cela fonctionne en supposant que vous disposez de pixels de premier plan et de pixels de fond et tente de trouver la meilleure séparation d'eux.


0 commentaires

3
votes

Le Méthode de clustering K-old fonctionne bien si vous faites ce qui suit:

  1. partitionnement de l'image en sous-blocs.
  2. Appliquez le cluster de K-moyen sur chaque sous-bloc. Le résultat est une image binaire (supposons que ce que vous vouliez est "1" et le reste "0 ').
  3. Faites à nouveau l'étape 2, cette fois sur des blocs qui se chevauchent.
  4. Appliquer l'opérateur "et" sur les images sous les images (pour les sous-blocs superposés).

    C'est vraiment facile à faire à Matlab.
    Si nécessaire, je peux partager le code.


0 commentaires