Meilleur moyen de les extraire bits des couleurs dans une image .pgm?
-
02-10-2019 - |
Question
J'ai une centaine de 128 x 128 fichiers .pgm avec des formes sur eux et je pense que leur échelle de couleur est de 255 (pas sûr de celui-ci, donc ce serait bien si une solution pourrait aussi prendre que considération) et je besoin d'extraire ces couleurs pour traiter les images. Donc ce que je voudrais finir avec serait une matrice de 128 x 128 avec chaque élément ayant une valeur comprise entre 0 -. 255, en supposant l'exemple 256 couleurs
En ce qui concerne la langue, tout en Python / Java / C # fera, de préférence dans cet ordre. Je peux utiliser Windows ou Linux bibliothèques si exclusives ne sont pas un problème.
La solution
En ce qui concerne une solution python va, je crois que PIL fichiers de supports. Dans ce cas (en utilisant numpy que le conteneur de matrice, mais cette partie est facultative):
(Edit: Relisez votre question et a réalisé que vous vouliez spécifiquement en niveaux de gris, plutôt que RGB ... Ce que j'aurais réalisé du format .pgm, de toute façon ...)
import Image
import numpy as np
im = Image.open('test.pgm')
# Convert to grayscale (single 8-bit band), if it's not already...
im = im.convert('L')
# "data" is a uint8 (0-255) numpy array...
data = np.asarray(im)
Autres conseils
P ortable G ray < strong> M le format ap est si trivial que je considérerais une question d'honneur d'écrire un analyseur syntaxique pour les fichiers pgm vous dans la langue dont vous avez besoin. Chaque valeur lue à partir du fichier PGM correspondrait à RGB
255*Value/Max_Valueoctets.
bonne chance.