LoginSignup
16
18

More than 5 years have passed since last update.

ROSのOpenCV_AppsとUSBカメラを使って始める画像処理

Last updated at Posted at 2018-04-01

目的

ROSのOpenCV_Appsを使って画像処理を実行する。OpenCV_Appsには、OpenCVの機能を使ったさまざまなノードがあり、その結果をROSトピックとして出力することができる。
OpenCV_Appsを使用すると、OpenCVのコードを書く必要がなくlaunchファイルを実行するだけで、必要なOpenCVの機能に対応する多くの機能を使うことができる。
ROSのlaunchファイルでパラメータを変更できるので、コンパイルせずにパラメータ最適化することも可能である。
ROSのUSBカメラからの画像データに、OpenCV_Appsをつなぐことで、画像処理を行う。

参考:http://wiki.ros.org/opencv_apps

環境

Ubuntu-14.04.1(x64)
ROS:Indigo

インストール

opencv-appsをapt-getでインストールする。

-ROS Indigoの場合

sudo apt-get install ros-indigo-opencv-apps 
sudo apt-get install ros-indigo-usb-cam

-ROS Kineticの場合

sudo apt-get install ros-kinetic-opencv-apps 
sudo apt-get install ros-kinetic-usb-cam

USBカメラ起動

以下のコマンドでUSBカメラを起動する

$ roscore
$ rosrun usb_cam usb_cam_node
$ rosrun image_view image_view image:=/usb_cam/image_raw

カメラが起動した後に、個々のlaunchファイルを起動すると、画像処理の結果が表示される。ROSで動作しているので、平行して起動して問題ない。

エッジ抽出ノード集(Edge Detection Nodes)

edge_detection

エッジ抽出を行うノード

roslaunch opencv_apps edge_detection.launch image:=/usb_cam/image_raw

hough_lines

ハフ変換で直線検出を行うノード

roslaunch opencv_apps hough_lines.launch image:=/usb_cam/image_raw

hough_circles

ハフ変換で円検出を行うノード

roslaunch opencv_apps hough_circles.launch image:=/usb_cam/image_raw

構造解析ノード集(Structual Analysis Nodes)

find_contours

輪郭検出を行うノード

roslaunch opencv_apps find_contours.launch image:=/usb_cam/image_raw

convex_hull

凸包を行うノード

roslaunch opencv_apps convex_hull.launch image:=/usb_cam/image_raw

general_contours

輪郭への楕円あてはめを行うノード

roslaunch opencv_apps general_contours.launch image:=/usb_cam/image_raw

contour_moments

輪郭の動き検出を行うノード

roslaunch opencv_apps contour_moments.launch image:=/usb_cam/image_raw

人間・顔検出ノード集(People/Face Detection Nodes)

face_detection

Cascade分類による顔検出を行うノード

roslaunch opencv_apps face_detection.launch image:=/usb_cam/image_raw

face_recognition

顔認識を行うノード
顔がだれの顔なのか、識別することができる。

roslaunch opencv_apps face_recognition.launch image:=/usb_cam/image_raw

people_detect

HOG特徴量による人検出を行うノード

roslaunch opencv_apps people_detect.launch image:=/usb_cam/image_raw

動作解析ノード集(Motion Analysis Nodes)

goodfeature_track

特徴検出を行うノード

roslaunch opencv_apps goodfeature_track.launch image:=/usb_cam/image_raw

camshift

CamShiftでの色検出を行うノード

roslaunch opencv_apps camshift.launch image:=/usb_cam/image_raw

fback_flow

Gunnar Farneback のオプティカルフロー検出を行うノード

roslaunch opencv_apps fback_flow.launch image:=/usb_cam/image_raw

lk_flow

Lucas-Kanade法のオプティカルフロー検出を行うノード

roslaunch opencv_apps lk_flow.launch image:=/usb_cam/image_raw

phase_corr

周波数領域での位相のコリレーションの計算を行うノード

roslaunch opencv_apps phase_corr.launch image:=/usb_cam/image_raw

simple_flow

simple_flow のオプティカルフロー検出を行うノード

roslaunch opencv_apps simple_flow.launch image:=/usb_cam/image_raw

物体抽出ノード集(Object Segmentaion Nodes)

segment_objects

単一物体の領域分割を行うノード

roslaunch opencv_apps segment_objects.launch image:=/usb_cam/image_raw

watershed_segmentation

物体の領域分割を行うノード

roslaunch opencv_apps watershed_segmentation.launch image:=/usb_cam/image_raw

画像フィルタノード集(Image Filter Nodes)

rgb_color_filter

RGB色空間でマスクをかけるノード

roslaunch opencv_apps rgb_color_filter.launch image:=/usb_cam/image_raw

hls_color_filter

HLS色空間でマスクをかけるノード

roslaunch opencv_apps hls_color_filter.launch image:=/usb_cam/image_raw

hsv_color_filter

HSV色空間でマスクをかけるノード

roslaunch opencv_apps hsv_color_filter.launch image:=/usb_cam/image_raw

roswikiに未掲載のもの

corner_harris

harrisのコーナ検出

roslaunch opencv_apps corner_harris.launch image:=/usb_cam/image_raw

adding_images

画像の合成

roslaunch opencv_apps adding_images.launch image1:=/usb_cam/image_raw image2:=/usb_cam/image_raw

discrete_fourier_transform

FFT変換

roslaunch opencv_apps discrete_fourier_transform.launch image:=/usb_cam/image_raw

smoothing

画像にsmoothing処理をいれる

roslaunch opencv_apps smoothing.launch image:=/usb_cam/image_raw

threshold

閾値で領域抽出する。

roslaunch opencv_apps threshold.launch image:=/usb_cam/image_raw
16
18
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
16
18