1. ホーム
  2. python

[解決済み] アサーション失敗:imshow関数内でsize.width>0 && size.height>0

2022-02-03 15:46:10

質問

ラズベリーパイでopencv2とpythonを使っていますが、pythonとopencvは初心者です。jpeg画像を読み込んで画像を表示しようとすると、以下のエラーが表示されます。

/home/pi/opencv-2.4.9/modules/highgui/src/window.cpp:269: \
  error: (-215) size.width>0 &&  size.height>0 in function imshow.

で、そのコードは

import cv2
# windows to display image
cv2.namedWindow("Image")
# read image
image = cv2.imread('home/pi/bibek/book/test_set/bbb.jpeg')
# show image
cv2.imshow("Image", image)
# exit at closing of window
cv2.waitKey(0)
cv2.destroyAllWindows()

解決方法は?

画像の読み込みに失敗する(おそらく、先頭の / をパスの中に入れてください)。 imread の場合、None を返す。渡す Noneimshow は、サイズ 0x0 のウィンドウを作成しようとしますが、これは失敗します。

のエラーハンドリングが悪いので cv おそらく、C++実装のラッパーレイヤーが非常に薄いためでしょう (エラー時にNULLを返すのは一般的な慣習です)。