ROS_melodicでOpenCV(C++)を使う
OpenCVは画像処理のライブラリです。
ros-melodic-desktop-fullをインストールしていれば、OpenCVが既にROSに入っています。
今回はfullをインストールしていることが前提です。
1.catkin_create_pkgでOpenCVを使うパッケージを作成します。
例)パッケージ名をhogeにした場合
cd ~/catskin_ws/src catkin_create_pkg hoge roscpp rospy std_msgs
2.main.cppをいじる
#include <stdio.h> #include <ros/ros.h> #include <opencv2/opencv.hpp> using namespace cv; int main(int argc, char **argv) { Mat img = Mat::zeros(500, 500, CV_8UC3); Point p; p.x = 300; p.y = 150; printf("OpenCV\n"); circle(img, p, 100, Scalar(0,0,255), 5, 4); imshow("output", img); waitKey(0); return 0; }
3.CMakeLists.txtをいじる
※hogeの部分は例です。catkin_create_pkg で決めたパッケージ名を入力してください。
piyoの部分は例です。好きな名前を入力してください。
cmake_minimum_required(VERSION 2.8.3) project(hoge) find_package(catkin REQUIRED COMPONENTS roscpp rospy std_msgs ) find_package(OpenCV REQUIRED) catkin_package() include_directories( ${catkin_INCLUDE_DIRS} ${OpenCV_INCLUDE_DIRS} ) add_executable( piyo src/main.cpp ) target_link_libraries( piyo ${catkin_LIBRARIES} ${OpenCV_LIBRARIES} )
4.実行
rosrun hoge piyo
下の画像が出力されたら成功です。