le fractionnement d'une image RVB en R,G,B canaux - python
Je suis en train de travailler sur le traitement de l'image, je veux savoir si ce code permet de diviser une image en couleur en différents canaux, et de me donner la moyenne. Parce que quand j'ai essayé sa me donnant l'image de ce que je suis en train de lire, sa me donne le bleu, le vert, le rouge des valeurs, et aussi de la valeur moyenne. Lorsque j'essaie de l'ajouter à une liste, et d'essayer de l'imprimer, la liste ne contient que des Zéros'.
C'est mon code:
b, g, r = cv2.split(re_img1)
ttl = re_img1.size
B = sum(b) / ttl
G = sum(g) / ttl
R = sum(r) / ttl
B_mean1.append(B)
G_mean1.append(G)
R_mean1.append(R)
re_img1
est l'image redimensionnée(j'.e 256x256). L'Image peut être n'importe quoi. Et je suis en utilisant le même code dans les 2 fonctions différentes, et je suis face au même problème.
Toutes les suggestions sont les bienvenues! Merci à l'avance!
aller à scipy (mais les réponses ci-dessous sont correctes, vous êtes diviser un entier par un n-uplet) et vous avez accès à beaucoup d'image, le traitement des fonctions, à partir de l'histogramme de opencv-comme des algorithmes
Non, elle présente une valeur
196608
sans croisillons.OriginalL'auteur varsha_holla | 2014-04-21
Vous devez vous connecter pour publier un commentaire.
Si je vous comprends bien, vous êtes en train de calculer la moyenne de chaque canal RVB. Il y a 2 problèmes dans votre code:
b, g, et r dans votre code sont en fait de la numpy.ndarray type, vous devez utiliser les méthodes appropriées pour les manipuler, je.e ndarray.somme. Faire la somme d'un flotteur, sinon vous allez perdre des décimales, depuis le quotient de 2 ints vous donnera un int.
Espère que c'est utile pour vous.
Cheers!
OriginalL'auteur Raoul
Je pense que ce dont vous avez besoin à faire est de changer cela:
:
depuis l'img.la taille est un tuple (x,y) vous tentez une opération non valide (diviser par tuple), qui est pourquoi vous obtenez ce résultat.
TypeError: 'int' object has no attribute '__getitem__'
OriginalL'auteur Amazingred