解决办法:
- 修改opencv的源码文件
opencv-4.5.1\modules\imgcodecs\src\grfmt_png.cpp
,在147行下面设置libpng中指针变量的属性值,将png_set_chunk_malloc_max
设置为无限制,添加以下代码:png_set_chunk_malloc_max(png_ptr, 0)
- 保存后,重新编译opencv库替换即可;
- 注意事项:编译时,需开启编译参数
OPENCV_FORCE_3RDPARTY_BUILD=ON
cmake -DCMAKE_BUILD_TYPE=RELEASE \
-DCMAKE_INSTALL_PREFIX=./install \
-DBUILD_SHARED_LIBS=ON \
-DCMAKE_INSTALL_LIBDIR=lib64 \
-DOPENCV_FORCE_3RDPARTY_BUILD=ON \
-DBUILD_DOCS=OFF \
-DBUILD_EXAMPLES=OFF \
-DWITH_IPP=OFF \
-DBUILD_TESTS=OFF ..