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:
Il est difficile de deviner ce que devrait être XXX, et XXX est différent pour différentes photos.
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.
Réponses:
convert -monochrome
de ImageMagickhttp://www.imagemagick.org/Usage/quantize/#monochrome
Cette option utilise un tramage intelligent pour produire d'excellents résultats pour la consommation humaine:
Par exemple, à partir de cette image Andromeda :
-monochrome
donne:alors qu'un simple
-threshold 50
transform perd l'image entière:la source
La meilleure chose que j'ai trouvée en trois ans est la
mkbitmap
programme livré avec potrace .la source
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.
la source
Vérifiez votre appareil photo. De nombreux appareils photo numériques modernes ont la possibilité de prendre des photos en noir et blanc directement.
la source
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)
la source
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.