OpenCVから画像を読み込む簡単なプログラムを実行しようとしています。しかし、このようなエラーが発生します。
error: ......\modules\highgui\src\window.cpp:281: error: (-215) size.width>0 && size.height>0 in function cv::imshow
このエラーの意味するところは何でしょうか?
以下は私のコードです。
from matplotlib import pyplot as plt
import numpy as np
import cv2
img = cv2.imread('C:\\Utilisateurs\\Zeineb\\Bureau\\image.jpg',0)
cv2.imshow('image',img)
cv2.waitKey(0)
cv2.destroyAllWindows()
エラー。(-215)" は、アサーションに失敗したことを意味します。この場合,cv::imshow は,与えられた画像が空でないことを表明します: https://github.com/opencv/opencv/blob/b0209ad7f742ecc22de2944cd12c2c9fed036f2f/modules/highgui/src/window.cpp#L281
画像入門】(https://opencv-python-tutroals.readthedocs.io/en/latest/py_tutorials/py_gui/py_image_display/py_image_display.html#display-image)にあるようにOpenCV Python チュートリアルでは,ファイルが存在しない場合, cv2.imread() は None
を返し,例外を発生させません.
したがって、以下のコードも "(-215) size.width>0 && size.height>0" のエラーになります。
img = cv2.imread('no-such-file.jpg', 0)
cv2.imshow('image', img)
指定されたパスにファイルが実際に存在するかどうか確認してください。存在する場合、画像が破損しているか、空の画像である可能性があります。