Convertir des photos couleur de documents en bonnes images en noir et blanc (bitonales)?

4

Comme je n'ai ni copieur ni scanner, j'utilise un appareil photo de 8 millions de pixels pour copier des documents. Cela fonctionne plutôt bien sauf qu'ils ont besoin de beaucoup de traitement par la suite. Je voudrais passer d'une photo à une bitmap, mais en utilisant

djpeg -grayscale -pnm photo.jpg |
pgmtopbm -threshold -value XXX

ne fonctionne pas si bien, pour deux raisons:

  1. Il est difficile de deviner ce que devrait être XXX, et XXX est différent pour différentes photos.

  2. L'éclairage varie et parfois, un seul seuil n'est pas ce qui convient à l'image.

Comment puis-je faire mieux? La solution idéale sera un programme de ligne de commande entièrement automatique que je peux exécuter sur Linux. (J'ai déjà écrit un programme pour supprimer les pixels sombres des bords des images.)

NOTE: Je veux vraiment un bitmap , ce ne sont que des pixels en noir et blanc. Pas de niveaux de gris, pas de dithering.

Norman Ramsey
la source
Question similaire ici: superuser.com/questions/107313/…
Simon East
unix.stackexchange.com/questions/108613/… || Requérant ImageMagick: superuser.com/questions/405686/…
Ciro Santilli 新疆改造中心 六四事件 法轮功

Réponses:

3

convert -monochrome de ImageMagick

http://www.imagemagick.org/Usage/quantize/#monochrome

Cette option utilise un tramage intelligent pour produire d'excellents résultats pour la consommation humaine:

convert -monochrome in.png out.png

Par exemple, à partir de cette image Andromeda :

enter image description here

-monochrome donne:

enter image description here

alors qu'un simple -threshold 50 transform perd l'image entière:

enter image description here

Ciro Santilli 新疆改造中心 六四事件 法轮功
la source
1

La meilleure chose que j'ai trouvée en trois ans est la mkbitmap programme livré avec potrace .

Norman Ramsey
la source
0

Apparemment, Gimp soutient certains traitement par lots en ligne de commande . Vous pourrez peut-être tenter votre chance, car la désaturation se comportera probablement comme prévu avec une luminosité variable de vos images.

keithjgrant
la source
Je serais ravi de l'essayer Pouvez-vous suggérer laquelle des centaines de transformations GIMP pourrait être pertinente?
Norman Ramsey
0

Vérifiez votre appareil photo. De nombreux appareils photo numériques modernes ont la possibilité de prendre des photos en noir et blanc directement.

Gcoupe
la source
Je cherche bitonal, pas en niveaux de gris.
Norman Ramsey
0

La conversion en niveaux de gris / désaturation préservera également la majeure partie du bruit. GIMP possède un filtre Threshold (sous le menu Couleur) qui élimine le bruit et fonctionne très bien pour le texte numérisé au trait et en noir.

Je ne suis pas trop renseigné sur le traitement par lots du script moi-même, mais cela semble être une bonne idée d'utiliser le seuil avec ce paramètre.

Edit: Puisque vous avez Linux comme tag, jetez un oeil à Phatch , manipulations de lot Il a des filtres pour ajuster le contraste et la luminosité aussi. C'est dans le dépôt Ubuntu (si vous utilisez cette distribution)

invert
la source
OK, j'ai vérifié Threshold, et il fait exactement quoi pgmtopbm Est-ce que. Si je voulais ajuster chaque page à la main, ce serait formidable, mais ce n'est pas le cas. Cela ne résout pas complètement le problème, à savoir que j'ai vraiment besoin de seuils différents dans différentes parties de l'image. Néanmoins, votre réponse était celle qui identifiait le mieux ce que GIMP peut et ne peut pas faire, alors +1. P.S. Il m'a fallu plusieurs minutes pour trouver la chose parmi les menus maudits.
Norman Ramsey
Outre l'observation visuelle de l'image, je ne peux pas dire comment calculer les valeurs de seuil par image. Wow je suis perplexe. Peut-être que l'ajustement automatique des niveaux de lumière mettra d'abord toutes les images sur le même niveau et qu'une valeur de seuil commune fonctionnera ensuite?
invert