Python
OpenCV

Python Assertion failure : size.width>0 && size.height>0 in function imshow

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のバージョンでエラーが発生していて、それらを改修した後で発生していることを鑑みると、

バイナリーに渡されていた値がクリアーされ、

それでこのような事案が発生したと考えるが

これは仮説の段階であり。

本当の原因は未だわからない

現在原因を究明するため再現に努めている、

わかり次第ここに記す、

同じような事象で悩んでおられ人がいれば

教えていただきたく存じ上げる。