9
7

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.

【R言語】RでopenCVを動かしてみる

Posted at

Rで画像処理ってできるんだろうかと軽い気持ちでネットを調べてみたらR版のopenCVを利用すれば実現出来ることがわかりまして、色々動かしてみました。

きちんとopenCVを使用したことが無いもので、従来のopenCVと比べて出来ることは限られているのかもしれませんが、使い方を紹介させていただきます。

今回、サンプルに使用する画像は著作権フリー画像を扱っているGAHAG様から写真をいただきました。ありがとうございます。

###画像処理

まずは画像処理から。
サンプル画像はopencv::ocv_picture関数でWebカメラ撮影することもできますが、自前だとたいへん見栄えがよろしくないので、大人しくプロの写真を使うことにしました。
画像は以下を使用します。
元画像.png

ソースは以下です。

opencv.r
# ライブラリ -------------------------------------------------------------------

pacman::p_load(opencv)


# ソース本文 -------------------------------------------------------------------

#画像の読み込み
photo <- ocv_read("gahag-0119426971-1.jpg")

photo

####顔認識
画像に手を加えていきます。
まずは顔認識。opencv::ocv_face()関数で顔認識をします。

opencv.r
#顔認識
ocv_face(photo)

顔認識.png

####顔認識(マスキング処理)

顔認識をしてマスキング処理を加えます。
opencv::ocv_facemask()関数を使用します。

opencv.r
#顔をマスキング
ocv_facemask(photo)

顔のマスキング.png

####エッジ検出
エッジ検出を行います。
opencv::ocv_edges()関数を使用します。

opencv.r
#エッジ検出
ocv_edges(photo)

エッジ検出.png

####ぼかし

ぼかし表現で表示します。
opencv::ocv_blur()関数を使用します。

opencv.r
#ぼかし
ocv_blur(photo)

ぼかし.png

####スケッチ風

スケッチ風に表現します。
opencv::ocv_sketch()関数を使用します。

opencv.r
#スケッチ風
ocv_sketch(photo)

スケッチ風.png

####スタイライズ

スタイライズ効果を入れます(どんな効果なのかは良くわかっていない)。
opencv::ocv_stylize()関数を使用します。

opencv.r
#スタイライズ効果
ocv_stylize(photo)

スタイライズ効果.png

####マーカー表示

マーカーをプロットします。
opencv::ocv_markers()関数を使用します。

opencv.r
#マーカー表示
ocv_markers(photo)

マーカー表示.png

####局所特徴領域を表示
局所的に特徴のある領域を□で囲みます。
opencv::ocv_hog()関数を使用します。

opencv.r
#局所特徴領域
ocv_hog(photo)

局所特徴.png

###動画処理

RのopenCVで動画処理もできるようです。
opencv::ocv_video()関数を使用します。

opencv.r
#動画処理
ocv_video(function(input){
  #エッジ検出
  ocv_edges(input)
})

エッジ_動画.png

筆者をエッジ検出した動画が撮れました。
サンプルとしてopencv::ocv_edges()関数を使用しましたが、顔認識(ocv_face()関数)やマーカー表示(ocv_markers()関数)でも難なく動作を確認することができました。

###おわり

実用性はさておき、ご興味があれば触ってみるのはいかがでしょう。
やっていきましょう。

9
7
2

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
9
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?