Lire l'image en niveaux de gris opencv 3.0.0-dev

J'essaie de lire les images directement en noir et blanc.

J'ai récemment mis à jour ma version OpenCv vers 3.0.0-dev, et le code que j'ai utilisé auparavant ne fonctionne plus.

   img = cv2.imread(f, cv2.CV_LOAD_IMAGE_GRAYSCALE)

Fonctionne bien pour 2.4 mais ne fonctionne pas pour la nouvelle version, car il n'y a pas de Champ CV_LOAD_IMAGE_GRAYSCALE.

Des suggestions?

Note: je sais que cv2.imread(f,0) fonctionnera, mais je n'aime pas avoir des constantes sans nom dans mon code. Merci!

21
demandé sur elaRosca 2014-04-28 14:58:29

2 réponses

, Le drapeau a été renommé cv2.IMREAD_GRAYSCALE. De manière générale, les drapeaux ont maintenant des noms préfixés d'une manière qui se rapporte à la fonction à laquelle ils se réfèrent. (par exemple, imread drapeaux commencer avec IMREAD_, cvtColor les drapeaux de commencer avec COLOR_, etc.)

27
répondu Aurelius 2014-04-28 15:35:47

Essayez ceci cela fonctionne pour moi

import cv2
im_gray = cv2.imread('gray_image.png', cv2.IMREAD_GRAYSCALE)
thresh = 127
im_bw = cv2.threshold(im_gray, thresh, 255, cv2.THRESH_BINARY)[1]
cv2.imwrite('blackwhite.png', im_bw)
7
répondu Jibin Mathew 2015-09-15 15:24:44