OpenCV Python: Normaliser l'image
Je suis nouveau sur OpenCV. Je veux faire un prétraitement liés à la normalisation. Je tiens à normaliser mon image à une certaine taille. Le résultat du code ci-dessous me donne une image noire. Quelqu'un peut-il m'indiquer exactement ce que je fais mal? L'image, je suis saisie d'un noir/blanc image
import cv2 as cv
import numpy as np
img = cv.imread(path)
normalizedImg = np.zeros((800, 800))
cv.normalize(img, normalizedImg, 0, 255, cv.NORM_MINMAX)
cv.imshow('dst_rt', self.normalizedImg)
cv.waitKey(0)
cv.destroyAllWindows()
- Est votre image à l'aide d'un bitdepth autres que 8bit? si donc vous aurez besoin pour le convertir en 8 bits pour l'afficher.
- img.dtype me donne uint8 @zeFrenchy
- J'espère que tu veux dire que l'image est en niveaux de gris, pas vraiment noir et blanc, ou sinon, normaliser, ne fait rien. Est-ce de travailler avec NORM_L2?
- Désolé si mes conditions ne sont pas correctes. Ce que je voulais dire, c'est que mon image est binarized. les valeurs des pixels sont soit (0, 0, 0) ou (255, 255, 255). Je ne suis pas sûr si c'est la partie de l'échelle de gris; dans la classe, le prof nous a dit il y a une différence entre les niveaux de gris et binarized
Vous devez vous connecter pour publier un commentaire.
comme on peut le voir à: http://docs.opencv.org/2.4/modules/core/doc/operations_on_arrays.html#cv2.normalize, il y a un
→ dst
que dire que le résultat de lanormalize
fonction est retourné en tant que paramètre de sortie. La fonction ne modifie pas le paramètre d'entréedst
en place.(Le
self.
danscv.imshow('dst_rt', self.normalizedImg)
ligne est une faute de frappe)C'est de vous donner une image noire parce que vous êtes probablement à l'aide de différentes tailles dans img et normalizedImg.
Lorsque vous appelez
cv.imshow()
vous utilisezself.normalizedImg
, au lieu denormalizedImg
.L'auto. est utilisé pour identifier les membres de la classe et de son utilisation dans le code que vous avez écrit n'est pas approprié. Il ne devrait pas fonctionner comme à l'écrit. Cependant je suppose que ce code a été extrait à partir d'une définition de classe, mais vous devez être cohérent dans les noms des variables et
self.normalizedImg
est différente denormalizedImg
.