opencv2を使用してpngファイルを読み込もうとしていますが、次のエラーが発生します。C++:libpng conflict on opencv
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は、opencvのライブラリと私のシステムのライブラリとの間の競合を避けるため、コマンドcmake -D BUILD_PNG=OFF /home/dpk/Desktop/opencv
を使ってビルドされました。
バイナリ上ldd
の出力は
libpng16.so.16 => /usr/local/lib/libpng16.so.16
どのように私はこのエラーを修正することができますがlibpngをするために、以下を提供します
g++ preProcess.cpp -I/usr/local/include/libpng16 `pkg-config opencv --cflags --libs` -o preProcess
以下のように私はPNG形式を読み取る必要があるプログラムをコンパイル?
レポの3rdpartyディレクトリを見ると、2010年にも1.2.53より新しいバージョンのLibPNGが存在していたので、それはどこから来たのか分かりません。 OpenCVの他のコピーをあなたのシステムにインストールしたことがありますか?誤って使用していますか? 'pkg-config opencv --cflags --libs'の出力は意味がありますか? –