Comment seuil fixé lors de la conversion JPEG bitmap non tramé?

voix
1

J'utilise mon appareil photo numérique comme un scanner rapide et sale. La résolution est en fait autour de 300 dpi, ce qui est tout à fait raisonnable. Mais mon appareil photo produit une image couleur que je veux réduite à une image bitmap. Je ne pas veux tramer l'image; Je cherche ce que je recevrais si je mets le document par le biais d' un scanner noir et blanc. La conversion d' un JPEG à une image est facile et nuances de gris standard en utilisant djpeg -grayscale. La partie la plus difficile est de décider lequel des pixels gris doit être blanc , et qui doivent être de couleur noire.

Les outils de pbmplus offre

djpeg -grayscale -pnm img.jpg | pgmtopbm -threshold -value $v > img.pbm

Mais le tueur est cette valeur $v. De bonnes valeurs semblent varier de 0,3 à 0,6, et le procès répétés et d' erreurs à la main me tue. (Pour ceux qui connaissent ImageMagick, la $và portée de main est la valeur du -black-thresholdparamètre.)

Je suppose que je pourrais construire une interface graphique qui me aider à trouver un seuil plus rapide à la main, mais ce que je suis vraiment à la recherche est et algorithme de seuil défini pour convertir une image bitmap à un niveau de gris propre . Idéalement cela fonctionnerait simplement en examinant la structure de l'image en niveaux de gris!

Créé 15/08/2009 à 20:13
source utilisateur
Dans d'autres langues...                            


2 réponses

voix
0

Ce n'est pas exactement ce que je l' espérais, mais le mkbitmapprogramme du potrace projet fait un travail agréable convertir des photos en bitmaps. Il a tendance à être quelques artefacts sur les bords, mais il fait un bien meilleur travail en éliminant sans objet le signal de faible fréquence spatiale, ce qui est impossible à l' aide seuillage simple.

Créé 17/04/2013 à 02:09
source utilisateur

voix
0

conversion de Colorspace est normalement effectuée à l'aide des profils dépendants de l'appareil.

Votre appareil photo est produit une image en fonction de son profil de couleur et, si vous aviez un scanner, il produira une image accoring à son profil de couleur.

A condition que vous aviez un profil ICC ou ICM pour votre appareil photo et celui qui est venu près d'égaler la sortie de l' appareil de scanner hypothétique , vous pouvez utiliser ImageMagick ou Little CMS pour appliquer les profils à vos données.

Depuis que je doute que vous avez un profil ICC ou ICM pour votre appareil photo , vous pouvez choisir juste un des nombreux ceux disponibles gratuitement sur Internet . Un profil de sortie graycale appropriée peut être un peu plus difficile à trouver.

Si vous ne pouvez pas appliquer des profils spécifiques de l' appareil , vous pouvez constater que ImageMagick peut faire ce que vous avez besoin avec ses -colorspace commande.

La CPI (International Color Consortium) a des programmes et de l' information peuvent vous être utiles.

algorithme de seuil réglé pour convertir une image en niveaux de gris en une image bitmap propre

Si tout ce que vous pourriez être le reste échoue en mesure d'obtenir une valeur de l'histogramme d'une image en niveaux de gris?

(Votre message est un peu déroutant que vous Défendez votre appareil émet une image couleur, mais vous voulez que l'image apparaisse comme si elle était exécutée par un scanner noir et blanc. Puis plus tard vous dire que vous voulez un algorithme pour convertir une image en niveaux de gris à un bitmap « propre ». » S'il vous plaît préciser.)

Modifier - Si vous cherchez toujours une réponse, ImageMagick peut être utilisé pour appliquer un profil ICC. Aussi cette page d'informations de profil du scanner peut être d' une certaine aide.

convert RGB.jpg -profile "Scanner.icc" BW.jpg
Créé 15/08/2009 à 21:06
source utilisateur

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more