画像を白黒として直接読み取ろうとしています。
最近、OpenCvのバージョンを3.0.0-devに更新しましたが、以前使用していたコードが機能しなくなりました。
_ img = cv2.imread(f, cv2.CV_LOAD_IMAGE_GRAYSCALE)
_
2.4では正常に動作しますが、フィールド_CV_LOAD_IMAGE_GRAYSCALE
_がないため、新しいバージョンでは動作しません。
助言がありますか?
注:cv2.imread(f,0)
が機能することは知っていますが、コードに名前のない定数を含めるのは好きではありません。ありがとう!
フラグの名前はcv2.IMREAD_GRAYSCALE
に変更されました。一般的に言えば、フラグには、参照先の関数に関連する方法でプレフィックスが付けられています。 (例:imread
フラグはIMREAD_
で始まり、cvtColor
フラグはCOLOR_
で始まります。)
これを試してみてください
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)