la conversion d'images indexées de 2 bits en niveaux de gris BMP
Tout d'abord, ma question est différente pour Comment puis-je convertir une image à 2 bits par pixel? et, malheureusement, sa solution ne fonctionne pas dans mon cas...
J'ai besoin de convertir des images en 2 bits par pixel en niveaux de gris format BMP. L'image de l'échantillon a les propriétés suivantes:
Color Model: RGB
Depth: 4
Is Indexed: 1
Dimension: 800x600
Size: 240,070 bytes (4 bits per pixel but only last 2 bits are used to identify the gray scales as 0/1/2/3 in decimal or 0000/0001/0010/0011 in binary, plus 70 bytes BMP metadata or whatever)
Les valeurs hexadécimales de la partie au début de l'échantillon d'image BMP:
La 3s représentent les pixels blancs au début de l'image. Plus bas, il y a quelques 0s, 1s et 2s représente le noir, gris foncé et gris clair:
Avec la commande ci-dessous,
convert pic.png -colorspace gray +matte -depth 2 out.bmp
Je peux obtenir visuellement correct de 4 niveaux de gris de l'image, mais le mal de la profondeur ou de la taille par pixel:
Color Model: RGB
Depth: 8 (expect 4)
Dimension: 800x504
Size: 1,209,738 bytes (something like 3 bytes per pixel, plus metadata)
(no mention of indexed colour space)
S'il vous plaît aider...
c'est pour l'e-paper module d'affichage qui supporte nativement 4 niveau d'échelle de gris d'affichage. sa fabrication ne fournit qu'une image converter pour Windows plate-forme, mais je suis un Linux/Mac utilisateur.
Peut-être essayez d'exécuter leur programme dans VirtualBox qui est gratuit et va vous permettre d'exécuter Windows sur votre Mac et sous Linux. Ou essayez
wine
. Pouvez-vous fournir un nom de produit & lien vers le module de fabricant et, s'il pleut ou que je m'ennuie, je pourrais écrire un Mac/Linux version. Pas de promesses.Ou, si vous ne voulez pas polluer votre belle Mac avec "la corbeille Windows", vous pouvez exécuter une gratuit Amazon E2C boîte de Windows et d'installer leur convertisseur de là:-)
Par la manière, vous pouvez faire ImageMagick créer un palettised/indexés BMP en ajoutant
-type palette
de votre commande.OriginalL'auteur yy502 | 2016-03-04
Vous devez vous connecter pour publier un commentaire.
OK, j'ai écrit un script Python suivant la Marque, les indices (voir les commentaires sous la question d'origine) pour créer manuellement un 4-niveau d'échelle de gris BMP avec 4bpp. Ce format BMP construction est pour le de 4,3 pouces, l'e-paper module d'affichage faite par WaveShare. Spécifications peuvent être trouvés ici: http://www.waveshare.com/wiki/4.3inch_e-Paper
Voici comment tuyau de l'image d'origine à mon code et enregistrer le résultat.
Contenu de
4_level_gray_4bpp_BMP_converter.py
:Edit: tout à propos de cet e-papier et mon code pour afficher des choses sur il peut être trouvé ici: https://github.com/yy502/ePaperDisplay
Fait. Merci pour la suggestion! 🙂
OriginalL'auteur yy502
Regarder https://en.wikipedia.org/wiki/BMP_file_format#File_structure .
Le problème est que vous ne spécifiez pas une table de couleurs. D'après wikipedia, l'article, ceux qui sont obligatoires si la profondeur est de moins de 8 bits.
ok, il semble plus rapide si j'ai écrit mon propre script pour créer le format d'image BMP que j'ai besoin de l'aide de matières octets. merci pour le fichier diagramme de structure!
OriginalL'auteur Aziuth
Bien fait sur la résolution du problème. Vous pourriez aussi envisager de faire un personnel délégué ou délégué personnalisé, pour ImageMagick pour aider à automatiser le processus. ImageMagick est en mesure de déléguer des formats il ne peut pas traiter lui-même, pour les délégués, ou des aides, telles que vos 2 bits de l'aide 😉
Plutôt que d'interférer avec le système à l'échelle de délégués, qui vivent probablement dans
/etc/ImageMagick/delegates.xml
, vous pouvez faire votre propre en$HOME/.magick/delegates.xml
. La vôtre devrait ressembler à quelque chose comme ceci:Alors si vous exécutez:
vous permettra de voir la vôtre répertorié comme un "connu" helper.
Tout cela signifie que vous serez en mesure d'exécuter des commandes comme:
et il va faire les 2 bits BMP chose automatiquement.
Je vais mettre tout le code ici github.com/yy502/ePaperDisplay et de l'ordre progressivement.
Cool. Cliquez sur
share
dessous la réponse à votre question sur StackOverflow et il vous donnera une URL que vous pouvez copier et coller dans votre dépôt GitHub.OriginalL'auteur Mark Setchell
Vous pouvez utiliser seulement ceci:
OriginalL'auteur Milan Jurkulak
Moi aussi, j'ai cette écran epaper. Après beaucoup d'essais et d'erreurs, j'ai été en mesure de convertir correctement les images en utilisant ImageMagick à l'aide de la commande suivante:
OriginalL'auteur johnpm
Cela fonctionne pour moi en Imagemagick 6.9.10.23 Q16 Mac OSX Sierra
D'entrée:
http://www.fmwconcepts.com/misc_tests/logo_depth8_gray_rgb.bmp
L'ajout de type de truecolor convertit l'image en RVB, mais dans des nuances de gris que par la palette de gris. Et la profondeur de 2 crée seulement 4 couleurs dans l'histogramme.
OriginalL'auteur fmw42