Assertion failure : size.width>0 && size.height>0 in function imshow
下記コードにてErrorが発生したログは下記の通り
OpenCV Error: Assertion failed (size.width>0 && size.height>0) in imshow, file /tmp/opencv-20170825-90583-1pdhamg/opencv-3.3.0/modules/highgui/src/window.cpp, line 325
Traceback (most recent call last):
File "imageToStr.py", line 6, in <module>
cv2.imshow('fuck image', img)
cv2.error: /tmp/opencv-20170825-90583-1pdhamg/opencv-3.3.0/modules/highgui/src/window.cpp:325: error: (-215) size.width>0 && size.height>0 in function imshow
コードは下記のような感じである。
import numpy as np
import cv2
img = cv2.imread('./fuckIage.png', cv2.IMREAD_COLOR)
cv2.imshow('fuck image', img)
cv2.waitKey(0)
実行時の階層は下記である。
.
├── fuckIage.png
├── imageToStr.py
├── main.py
├── stu.py
├── study.py
└── study.pyc
ファイルは存在していてパスも通っている。
なのでとりあえず、画面サイズを指定してみる。
import numpy as np
import cv2
img = cv2.imread('.fuckIage.png', cv2.IMREAD_COLOR)
cv2.namedWindow('img', cv2.WINDOW_NORMAL)
cv2.imshow('fuck image', img)
cv2.waitKey(0)
実行できました。
その後の下記でも実行してみる。
import numpy as np
import cv2
img = cv2.imread('.fuckIage.png', cv2.IMREAD_COLOR)
# コメントアウトしてみる。 cv2.namedWindow('img', cv2.WINDOW_NORMAL)
cv2.imshow('fuck image', img)
cv2.waitKey(0)
成功!
値が渡ってなかったのかもしれない、
参照できずにエラー
おそらくこれらを実行する前に、
numpyのバージョンでエラーが発生していて、それらを改修した後で発生していることを鑑みると、
バイナリーに渡されていた値がクリアーされ、
それでこのような事案が発生したと考えるが
これは仮説の段階であり。
本当の原因は未だわからない
現在原因を究明するため再現に努めている、
わかり次第ここに記す、
同じような事象で悩んでおられ人がいれば
教えていただきたく存じ上げる。