Comment puis-je accéder aux pixels d'une image à l'aide d'OpenCV-Python?
Je veux savoir comment faire une boucle par tous les pixels d'une image. J'ai essayé ceci:
import cv2
import numpy as np
x = np.random.randint(0,5,(500,500))
img = cv2.imread('D:\Project\Capture1.jpg',0)
p = img.shape
print p
rows,cols = img.shape
for i in range(rows):
for j in range(cols):
k = x[i,j]
print k
Il imprime un ensemble vertical de nombres qui n'est pas sous la forme d'un tableau. Je reçois également un tableau en dehors des limites de l'exception. S'il vous plaît suggérer une méthode.
OriginalL'auteur Harini Subhakar | 2015-03-11
Vous devez vous connecter pour publier un commentaire.
Accès spécifique pixel en Python
de sortie: [ 73 89 102]
OriginalL'auteur Rohit Salunke
Je ne vois pas quel est le but de votre variable x. Vous n'en avez pas besoin.
Suffit d'utiliser:
qui permet d'imprimer en effet un ensemble vertical de nombres. Si vous souhaitez modifier les valeurs des pixels de l'utilisation
img.itemset()
. http://docs.opencv.org/3.0-beta/doc/py_tutorials/py_core/py_basic_ops/py_basic_ops.htmlSi vous souhaitez imprimer l'ensemble de la matrice puis utiliser
print(img)
OriginalL'auteur Roxanne
Essayez ceci:
OriginalL'auteur Be'ezrat Hashem
L'accès à l'aide du tableau de l'indice sera lente avec un tableau numpy.
Vous pouvez utiliser le
item()
méthode pour l'accès et leitemset
pour effectuer des changements.Par exemple
OriginalL'auteur Vivek Ananthan
OriginalL'auteur Ebenezer James Valdez
Vous pouvez le faire
OriginalL'auteur Muskan Agarwal
De la verticale du tableau sont les RVB (Reg, Vert, Bleu) les valeurs du canal de l'image. Si vous ne voulez qu'une seule valeur pour le pixel vous pouvez convertir l'image en niveaux de gris en premier. Cela dépend vraiment de votre application et de ce que vous voulez faire avec l'image, la conversion en niveaux de gris n'est qu'une méthode.
De convertir en niveaux de gris
Certaines opérations de base sont présentés dans le la documentation
OriginalL'auteur user3590169
vous êtes la lecture de l'image en échelle de gris
img = cv2.imread('D:\Project\Capture1.jpg',0)
ici, vous obtenez seulement intencity
OriginalL'auteur paparoch
Ce code va vous donner les valeurs des pixels dans un tableau 'k' en passant par la boucle.
OriginalL'auteur Anon George