エラー 画像を自動でしきい値を決めて2値化したい。大津のアルゴリズム
AnacondaでOpenCVを学習しております。指定画像を2値化して表示をしたいのですが、エラーが返されます。
使用環境: Anaconda3(Python 2.7.13), Windows 7, OpenCV 3.2.0
試みた実行したのは下記[threshold.py]です。
# coding: UTF-8
import cv2
img = cv2.imread('01.png', cv2.COLOR_BGR2GRAY)
ret, th_Otsu = cv2.threshold(img, 0, 255, cv2.THRESH_TOZERO + cv2.THRESH_OTSU)
cv2.imshow('01_Otsu.png', th_Otsu)
cv2.waitKey(0)
cv2.destroyAllWindows()
下記 実行時のエラーです。
OpenCV Error: Assertion failed (src.type() == CV_8UC1) in cv::threshold, file C:\build\master_winpack-bindings-win32-vc14-static\opencv\modules\imgproc\src\thresh.cpp, line 1356
Traceback (most recent call last):
File "C:/Users/admin/.spyder-py3/threshold.py", line 7, in <module>
ret, th_Otsu = cv2.threshold(img, 0, 255, cv2.THRESH_TOZERO + cv2.THRESH_OTSU)
cv2.error: C:\build\master_winpack-bindings-win32-vc14-static\opencv\modules\imgproc\src\thresh.cpp:1356: error: (-215) src.type() == CV_8UC1 in function cv::threshold
[+ cv2.THRESH_OTSU]を消して実行すれば正常に表示できるのですが、しきい値を自動で決めたいのでcv2.THRESH_OTSUが使いたいです。OTSUが使えない実行環境なのでしょうか?
調べてみたのですが明確な答えがわかりませんでした。
ご助言を頂ければ助かります、よろしくお願いいたします。