Come posso convertire un oggetto superficie in pygame in una matrice bidimensionale di valori RGB (un valore per ogni pixel)? Ho letto la documentazione su PixelArrays e Surfarrays e non riesco a trovare una risposta alla mia domanda. Gli esempi sono più che benvenuti.Conversione di un'immagine in pygame in una matrice 2D di valori RGB
risposta
Il Pygame documentation dice che dato un oggetto di superficie, è possibile creare un wrapper PixelArray
per fornire un accesso matrice 2D diretto ai suoi pixel chiamando il metodo PixelArray()
del modulo come questo:
pxarray = pygame.PixelArray(surface)
Logicamente un PixelArray
oggetto è una matrice bidimensionale di valori RGB memorizzati come numeri interi.
Un elemento
PixelArray
pixel può essere assegnato un valore intero crudo, un'istanzapygame.Color
(un oggetto per riproduzioni a colori), o una tupla(r, g, b[, a])
.pxarray[x, y] = 0xFF00FF pxarray[x, y] = pygame.Color(255, 0, 255) pxarray[x, y] = (255, 0, 255)
Si cita anche:
Tuttavia, viene restituito valore intero solo di pixel. Pertanto, per confrontare un pixel con un colore particolare , il colore deve essere mappato per la prima volta utilizzando il metodo dell'oggetto per il quale è stato creato lo
PixelArray
.
Il che significa che è necessario utilizzare il metodo per ottenere Surface.map_rgb()
tuple RGB da PixelArray
valori interi ogni volta che non sta facendo un incarico alla matrice, cioè quando lettura il valore di un pixel, come si sta facendo nella seguente condizione:
# Check, if the first pixel at the topleft corner is blue
if pxarray[0, 0] == surface.map_rgb((0, 0, 255)):
...
Spero che questo aiuti.
- 1. Conversione di una matrice 2D di array 2D in una singola matrice 2D
- 2. conversione di un dizionario 2d a una matrice NumPy
- 3. Assegnazione esplicita di valori a una matrice 2D?
- 4. Conversione di fattori R in valori di matrice binaria
- 5. Come convertire una matrice di gradazioni di grigio in una matrice RGB in MATLAB?
- 6. Conversione di due elenchi in una matrice
- 7. Conversione di un'immagine in scala di grigio in un'immagine heatmap RGB con matplotlib
- 8. come convertire una matrice di valori in una matrice binaria
- 9. copiare una matrice 2d in Java
- 10. Conversione da int RGB in esadecimale
- 11. Python: Sostituzione di valori in una matrice
- 12. Ordinamento di una matrice 2D binaria?
- 13. Stima della matrice di omografia 2D-3D
- 14. Come dichiarare una matrice 2D di dimensioni variabili in C?
- 15. JavaScript Conversione di valori stringa in esadecimale
- 16. Conversione di un oggetto letterale in una matrice ordinata
- 17. Conversione di una matrice matlab in un vettore
- 18. gnuplot: trama 2D di una matrice di dati
- 19. Come presentare una matrice numpy nella superficie di pygame?
- 20. Conversione matrice php di matrici in un'unica matrice
- 21. Conversione di dati RGB in una bitmap in Objective-C++ Cocoa
- 22. Conversione di dati $ di sessione in una matrice?
- 23. Conversione di una matrice di array in una matrice di stringhe
- 24. 3D trama di superficie da matrice 2D
- 25. Colorplot di matrice 2D matplotlib
- 26. urlencode una matrice di valori
- 27. maschera una matrice NumPy 2D basato su valori in una colonna
- 28. Conversione di una matrice Object [] in una matrice int [] in java?
- 29. Conversione di una matrice Object [] in una matrice stringa [] in C#?
- 30. Conversione di una tupla di colori RGB in un codice a sei cifre, in Python
Grazie, l'ha fatto. –