前提・実現したいこと
ROSのopencvを参照せずに手動で導入したopencvを参照したい
発生している問題・エラーメッセージ
OpenCV Error: Assertion failed (channels() == ((((dtype) & ((512 - 1) << 3)) >> 3) + 1)) in copyTo, file /tmp/binarydeb/ros-kinetic-opencv3-3.3.1/modules/core/src/copy.cpp, line 260 terminate called after throwing an instance of 'cv::Exception' what(): /tmp/binarydeb/ros-kinetic-opencv3-3.3.1/modules/core/src/copy.cpp:260: error: (-215) channels() == ((((dtype) & ((512 - 1) << 3)) >> 3) + 1) in function copyTo``` ### 該当のソースコード
### 試したこと HoughLines(InputArray image, OutputArray lines, double rho, double theta, int threshold, double srn = 0, double stn = 0, double min_theta = 0, double max_theta = CV_PI のOutputArrayにあたる引数を,std::vector<cv::Vec2f>にしたところコンパイルエラーなし,実行問題なし. OutputArrayを,std::vector<cv::Vec3f>にしたところコンパイルエラーなし,実行時コアダンプ(上記エラー). ### 補足情報(FW/ツールのバージョンなど) Ubuntu 16.04 ROS kinetic 手動で導入したopencvは https://github.com/opencv/opencv.git よりgit clone してbuild. opencvのパスはCMakeLists.txtに次のように記載. find_package(OpenCV REQUIRED) target_link_libraries(test ${OpenCV_LIBRARIES}) エラーメッセージを見る限りおそらくROSの方のopencvが呼び出されているのが原因だと思うのですが, どのような記述をすればgitからダウンロードしたopencvを参照するようになるのでしょうか. (補足) $ ldd (実行ファイル名) の出力結果 linux-vdso.so.1 => (0x00007ffcf9ffd000) libopencv_highgui3.so.3.3 => /opt/ros/kinetic/lib/x86_64-linux-gnu/libopencv_highgui3.so.3.3 (0x00007fcaada65000) libopencv_imgcodecs3.so.3.3 => /opt/ros/kinetic/lib/x86_64-linux-gnu/libopencv_imgcodecs3.so.3.3 (0x00007fcaad436000) libopencv_imgproc3.so.3.3 => /opt/ros/kinetic/lib/x86_64-linux-gnu/libopencv_imgproc3.so.3.3 (0x00007fcaaab40000) libopencv_core3.so.3.3 => /opt/ros/kinetic/lib/x86_64-linux-gnu/libopencv_core3.so.3.3 (0x00007fcaa9c06000) libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007fcaa9884000) libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fcaa957b000) libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007fcaa9365000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fcaa8f9b000) libQt5Widgets.so.5 => /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5 (0x00007fcaa890e000) libQt5Test.so.5 => /usr/lib/x86_64-linux-gnu/libQt5Test.so.5 (0x00007fcaade54000) libQt5Gui.so.5 => /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5 (0x00007fcaa83c6000) libQt5Core.so.5 => /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 (0x00007fcaa7ef0000) libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fcaa7cd3000) libjpeg.so.8 => /usr/lib/x86_64-linux-gnu/libjpeg.so.8 (0x00007fcaa7a7a000) libwebp.so.5 => /usr/lib/x86_64-linux-gnu/libwebp.so.5 (0x00007fcaa781e000) libpng12.so.0 => /lib/x86_64-linux-gnu/libpng12.so.0 (0x00007fcaa75f9000) libtiff.so.5 => /usr/lib/x86_64-linux-gnu/libtiff.so.5 (0x00007fcaa7384000) libjasper.so.1 => /usr/lib/x86_64-linux-gnu/libjasper.so.1 (0x00007fcaa712f000) libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007fcaa6f15000) libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fcaa6d11000) librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007fcaa6b09000) /lib64/ld-linux-x86-64.so.2 (0x00007fcaadca6000) libgobject-2.0.so.0 => /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0 (0x00007fcaa68b6000) libglib-2.0.so.0 => /lib/x86_64-linux-gnu/libglib-2.0.so.0 (0x00007fcaa65a5000) libX11.so.6 => /usr/lib/x86_64-linux-gnu/libX11.so.6 (0x00007fcaa626b000) libharfbuzz.so.0 => /usr/lib/x86_64-linux-gnu/libharfbuzz.so.0 (0x00007fcaa600d000) libGL.so.1 => /usr/lib/x86_64-linux-gnu/libGL.so.1 (0x00007fcaa5d69000) libicui18n.so.55 => /usr/lib/x86_64-linux-gnu/libicui18n.so.55 (0x00007fcaa5907000) libicuuc.so.55 => /usr/lib/x86_64-linux-gnu/libicuuc.so.55 (0x00007fcaa5573000) libpcre16.so.3 => /usr/lib/x86_64-linux-gnu/libpcre16.so.3 (0x00007fcaa530d000) liblzma.so.5 => /lib/x86_64-linux-gnu/liblzma.so.5 (0x00007fcaa50eb000) libjbig.so.0 => /usr/lib/x86_64-linux-gnu/libjbig.so.0 (0x00007fcaa4edd000) libffi.so.6 => /usr/lib/x86_64-linux-gnu/libffi.so.6 (0x00007fcaa4cd5000) libpcre.so.3 => /lib/x86_64-linux-gnu/libpcre.so.3 (0x00007fcaa4a65000) libxcb.so.1 => /usr/lib/x86_64-linux-gnu/libxcb.so.1 (0x00007fcaa4843000) libfreetype.so.6 => /usr/lib/x86_64-linux-gnu/libfreetype.so.6 (0x00007fcaa4599000) libgraphite2.so.3 => /usr/lib/x86_64-linux-gnu/libgraphite2.so.3 (0x00007fcaa4373000) libGLX.so.0 => /usr/lib/x86_64-linux-gnu/libGLX.so.0 (0x00007fcaa4143000) libGLdispatch.so.0 => /usr/lib/x86_64-linux-gnu/libGLdispatch.so.0 (0x00007fcaa3e75000) libicudata.so.55 => /usr/lib/x86_64-linux-gnu/libicudata.so.55 (0x00007fcaa23be000) libXau.so.6 => /usr/lib/x86_64-linux-gnu/libXau.so.6 (0x00007fcaa21ba000) libXdmcp.so.6 => /usr/lib/x86_64-linux-gnu/libXdmcp.so.6 (0x00007fcaa1fb4000) libXext.so.6 => /usr/lib/x86_64-linux-gnu/libXext.so.6 (0x00007fcaa1da2000) 環境変数 $ env | grep -i path ROS_PACKAGE_PATH=/opt/ros/kinetic/share LD_LIBRARY_PATH=/opt/ros/kinetic/lib:/opt/ros/kinetic/lib/x86_64-linux-gnu XDG_SESSION_PATH=/org/freedesktop/DisplayManager/Session0 XDG_SEAT_PATH=/org/freedesktop/DisplayManager/Seat0 DEFAULTS_PATH=/usr/share/gconf/ubuntu.default.path PATH=/opt/ros/kinetic/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin MANDATORY_PATH=/usr/share/gconf/ubuntu.mandatory.path PYTHONPATH=/opt/ros/kinetic/lib/python2.7/dist-packages PKG_CONFIG_PATH=/opt/ros/kinetic/lib/pkgconfig:/opt/ros/kinetic/lib/x86_64-linux-gnu/pkgconfig CMAKE_PREFIX_PATH=/opt/ros/kinetic $ env | grep -i cv (該当変数なし)
回答1件
あなたの回答
tips
プレビュー