16
18

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?