消除 OpenCV 图像大小限制

Jon*_*o_R 5 python opencv

我正在加载一个非常大的图像(60,000 x 80,000 像素),并且超出了我可以加载的最大像素:

cv2.error: OpenCV(4.2.0) /Users/travis/build/skvark/opencv-python/opencv/modules/imgcodecs/src/loadsave.cpp:75: 
    error: (-215:Assertion failed) pixels <= CV_IO_MAX_IMAGE_PIXELS in function 'validateInputImageSize'
Run Code Online (Sandbox Code Playgroud)

据我所知,这是指对第 65 行施加的限制

理想情况下我会改变它来处理至少 5 gigapixel 图像

#define CV_IO_MAX_IMAGE_PIXELS (1<<33)
Run Code Online (Sandbox Code Playgroud)

我已经看到了一些解决方法(OpenCV 图像大小限制),但这些似乎并没有解决任意定义的问题(我正在使用 700gb 内存的高性能服务器,因此计算不是问题)。

我的问题是我不知道这个文件在哪里。该错误将我指向这个“travis”目录,该目录对我来说本地不存在,并且在我的本地环境中,c++ 文件不可用。

知道在哪里可以找到 C++ 库吗?

Aja*_*jai 5

您必须修改 openCV 源文件,然后自己编译。

编辑:您还可以修改环境变量

export CV_IO_MAX_IMAGE_PIXELS=1099511627776
Run Code Online (Sandbox Code Playgroud)