PR

【簡単】OpenCVでサイズが大きな画像を扱う場合のエラー対応

Python OpenCV
Python

PythonでOpenCVを使って大きなサイズの画像を読み込もうとした場合に下記のようなエラーが発生します。

error: (-215:Assertion failed) pixels <= CV_IO_MAX_IMAGE_PIXELS in function 'cv::validateInputImageSize'

これは画像のピクセルサイズがOpenCV内で定義されている定数の値を超えてしまっているからです。

エラー内容

Traceback (most recent call last):
  File "image_read.py", line 8, in 
    img = cv2.imread("C:/work/test/image.png")
cv2.error: OpenCV(4.4.0) C:\Users\appveyor\AppData\Local\Temp\1\pip-req-build-hfoi92lm\opencv\modules\imgcodecs\src\loadsave.cpp:77: error: (-215:Assertion failed) pixels <= CV_IO_MAX_IMAGE_PIXELS in function 'cv::validateInputImageSize'

解決方法

opencvをimportする前に環境変数を設定することで問題は解決します。

import os
os.environ["OPENCV_IO_MAX_IMAGE_PIXELS"] = pow(2,40).__str__()
import cv2

これで最大サイズが2^40になるので大きな画像を読み込むことができます。

タイトルとURLをコピーしました