J'essaie de lire les images directement en noir et blanc.
J'ai récemment mis à jour ma version d'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
.
Aucune suggestion?
Remarque: je sais que cv2.imread(f,0)
fonctionnera, mais je n'aime pas avoir des constantes sans nom dans mon code. Merci!
Le drapeau a été renommé en 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, les indicateurs imread
commencent par IMREAD_
, cvtColor
les drapeaux commencent par COLOR_
, etc.)
Essayez ça ça marche 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)