Mon ami a une image colorée avec une écriture chinoise (essentiellement en prenant une photo ou en scannant ce qu'il a écrit sur une feuille de papier blanc), et il aimerait que je la convertisse en une image binaire en noir et blanc. Existe-t-il des applications sous Ubuntu qui peuvent accomplir cela?
Voici un exemple d'image:
Réponses:
Ce que vous voulez est appelé "seuil" dans le traitement d'image. Fondamentalement, il prend une image en entrée et produit une image dont tous les pixels ont une valeur inférieure à un seuil donné définie sur noir et tous les pixels dont la valeur est supérieure au seuil défini sur blanc. Il en résulte une image en noir et blanc à partir d'une image d'entrée arbitraire.
En règle générale, vous souhaitez d'abord convertir en niveaux de gris pour des résultats plus prévisibles, mais il est également possible de définir un seuil pour une image en couleur.
Vous pouvez utiliser un outil graphique tel que GIMP pour le faire de manière interactive (vous trouverez l'outil via le menu principal -> Couleurs -> Seuil), ou vous pouvez utiliser ImageMagick quelque chose comme ceci:
L'exécution de la commande ci-dessus sur l'image d'exemple produit le résultat ci-dessous.
Étant donné que le seuillage est souvent un processus d'essai et d'erreur pour obtenir un résultat qui vous convient, en particulier si l'image source n'est pas déjà très proche du noir et blanc, je recommande l'approche GUI si possible, mais si ce n'est pas une option pour une raison quelconque, vous pouvez également le faire via la ligne de commande. Pour un contrôle plus fin de la sortie, vous pouvez d'abord utiliser des outils tels que les courbes de couleur, les niveaux et le contraste pour mieux isoler les parties claires et sombres de l'image avant le seuillage. (En fait, le seuil peut être considéré comme un cas extrême d'utilisation de l'outil Courbes de couleurs.)
la source
-channel
option de conversion d'ImageMagick ) soit appliqué à une sorte de "valeur" du pixel, qui est calculée de tous les canaux. C'est la raison pour laquelle j'ai dit que vous souhaitiez peut-être d'abord convertir en niveaux de gris pour des résultats plus prévisibles. (Voir aussi mon montage.)-lat
qui effectue un seuil adaptatif local, en tenant compte des pixels environnants.Vous pouvez utiliser Imagemagick:
D' ici .
Voici ce que j'ai obtenu après avoir appliqué votre image:
la source
-monochrome d'ImageMagick est une option qui utilise un tramage intelligent et rend la sortie beaucoup plus visible que
-threshold
si vous la destinez à la consommation humaine:Cela ne fait pas beaucoup de différence pour une image aussi simple, mais pour les plus grandes, c'est frappant.
la source
Vous pouvez également le faire facilement avec la
netpbm
boîte à outils:ppmtopgm
convertit en une image en niveaux de gris, sepgmtopbm
convertit en une image en noir ou blanc, puis nous redirigeons la sortie vers un fichier. Ce sera au format pbm; si vous voulez quelque chose de plus commun, vous devrez ajouter un convertisseur de sortie (par exemple,pnmtopng
ou quelque chose comme ça )la source