ROS 에서 opencv 사용

2375 단어 opencv
문제 1:
ubuntu 16.0 에 ROS 와 자체 Opencv 3.3.1 이 설치 되 어 있어 opencv 를 따로 설치 하지 않 았 습 니 다.그러나 opencv 를 사용 할 때 opencv 라 이브 러 리 를 찾 을 수 없 음 을 알려 줍 니 다.오 류 는 다음 과 같 습 니 다.CMake Error at CMakeLists.txt:6(FINDPACKAGE):   By not providing "FindOpencv.cmake" in CMAKE_MODULE_PATH this project has   asked CMake to find a package configuration file provided by "Opencv", but   CMake did not find one.
  Could not find a package configuration file provided by "Opencv" with any   of the following names:
    OpencvConfig.cmake     opencv-config.cmake
  Add the installation prefix of "Opencv" to CMAKE_PREFIX_PATH or set   "Opencv_DIR" to a directory containing one of the above files.  If "Opencv"   provides a separate development package or SDK, be sure it has been   installed.
해결 방안:
모든 디 렉 터 리 에서 OpencvConfig.make 파일 을 찾 지 못 했 기 때문에 OpenCVconfig.make 파일 만 찾 을 수 있 습 니 다.이 파일 의 이름 을 OpencvConfig.make 로 변경 할 수 있 습 니 다.그리고 CMakeLists.txt 에 Opencv 를 추가 합 니 다.DIR 의 경로 정보.OpenCVconfig.make 파일 이 나타 난 위 치 는?
/opt/ros/kinetic/share/OpenCV-3.3.1-dev/하.변경 완료 후 CMakeLists.txt 에서 findpackage 명령 앞 에 다음 명령 을 추가 합 니 다:set(OpencvDIR/opt/ros/kinetic/share/OpenCV-3.3.1-dev)마지막 CMakeLists.txt 의 명령 은 다음 과 같 습 니 다.
CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
PROJECT(undistort)

set(Opencv_DIR /opt/ros/kinetic/share/OpenCV-3.3.1-dev)

FIND_PACKAGE(Opencv REQUIRED)
INCLUDE_DIRECTORIES(${OpenCV_INCLUDE_DIRS})

ADD_EXECUTABLE(${PROJECT_NAME} undistort_image.cpp)

TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${OpenCV_LIBS})

참고:https://www.cnblogs.com/newneul/p/8364924.html
문제 2:
위의 문 제 를 해결 한 후에 타 임 스 를 번역 하 는 것 이 잘못 되 었 다.
OpenCV Error: Assertion failed (size.width>0 && size.height>0) in imshow, file /tmp/binarydeb/ros-kinetic-opencv3-3.3.1/modules/highgui/src/window.cpp, line 331 
terminate called after throwing an instance of 'cv::Exception'what():  /tmp/binarydeb/ros-kinetic-opencv3-3.3.1/modules/highgui/src/window.cpp:331: error: (-215) size.width>0 && size.height>0 in function imshow

해결 방법:매개 변수 경로 설정 문제.
원래 사진 읽 기 경 로 는 현재 디 렉 터 리 아래:string imagefile = "./test.png";   절대 경로 로 변경 해 야 합 니 다:string imagefile="/home/wei/문서/slam/homework/1-7/제4 강/소스 코드/l4-2-undistortimage/test.png";
 

좋은 웹페이지 즐겨찾기