Domanda

Ho un centinaio di 128 x 128 file .pgm con alcune forme su di loro e penso che la loro scala di colori è 255 (non sono sicuro su questo, però, quindi sarebbe bello se una soluzione potrebbe anche prendere che nel considerazione) e ho bisogno di estrarre questi colori per elaborare le immagini. Quindi cosa vorrei finire con sarebbe una matrice 128 x 128 con ogni elemento avente un valore tra 0 -. 255, assumendo l'esempio 256 colori

Per quanto riguarda la lingua, qualsiasi cosa in Python / Java / C # farà, preferibilmente in questo ordine. Posso utilizzare le librerie in modo esclusivo sia Windows o Linux non sono un problema.

È stato utile?

Soluzione

Per quanto riguarda la soluzione pitone va, credo PIL file supporti .pgm. In questo caso (utilizzando numpy come contenitore matrice, ma questa parte è opzionale):

(Modifica: Re-letto la tua domanda e si rese conto che si voleva in particolare in scala di grigi, RGB piuttosto che ... Che ho dovuto capire dal formato .pgm, comunque ...)

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)

Altri suggerimenti

P ortable G raggio < strong> M formato ap è così banale che vorrei prendere in considerazione una questione d'onore di scrivere un parser per i file PGM se stessi in qualsiasi lingua si ha bisogno. Ogni valore letto dal file PGM corrisponderebbe a RGB

255*Value/Max_Value
byte.

buona fortuna.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top