我想读取一个PNG文件使用opencv2,我得到以下错误。C + +:在opencv libpng冲突
libpng warning: Application built with libpng-1.2.53 but running with 1.6.27
OpenCV Error: Assertion failed (dsize.area() > 0 || (inv_scale_x > 0 && inv_scale_y > 0)) in resize, file /home/dpk/Desktop/opencv/opencv/modules/imgproc/src/imgwarp.cpp, line 3484
我在我的系统上有libpng 1.6.27
。 Opencv是使用命令cmake -D BUILD_PNG=OFF /home/dpk/Desktop/opencv
构建的,以避免opencv库与我的系统库之间发生冲突。
我编译它需要读取PNG如下
g++ preProcess.cpp -I/usr/local/include/libpng16 `pkg-config opencv --cflags --libs` -o preProcess
程序的ldd
在二进制输出给我怎样才能解决这个错误了libpng
libpng16.so.16 => /usr/local/lib/libpng16.so.16
以下?
当我查看回购协议中的3rdparty目录时,即使在2010年,LibPNG的版本也比1.2.53更新,所以看起来并不是那里出现的。您是否碰巧在系统上安装了OpenCV的其他副本,它是否意外使用? 'pkg-config opencv --cflags --libs'的输出是否有意义? –