Posts for: #OpenCV

いつの間にかOpenCVのVideoCaptureが正しく向きに対応できるようになっていた

いつの間にかOpenCVのVideoCaptureが正しく向きに対応できるようになっていた

昔の話

OpenCVのVideoCaptureを使っていると、あれって思うことがありました。
動画によって、読み込まれたフレームの向きが正しかったり、90度回転していたりするんですよね。特にスマートフォンで撮影した動画で問題が起きていました。
もちろん、一般的な動画プレーヤーで再生すると正しく表示されるような動画です。

findContoursで輪郭の検出

findContoursで輪郭の検出

本記事はQrunchからの転載です。


画像から物体の輪郭を見つけたくなることが多々あります。 そんなときにもOpenCVを利用することができます。

findContoursで輪郭抽出

次の画像から輪郭の抽出をおこなうことを考えます。

最初に次のように二値化しておきます。

OpenCVのヒストグラムの計算はNumPyより断然速い

OpenCVのヒストグラムの計算はNumPyより断然速い

本記事はQrunchからの転載です。


画像処理や集計、機械学習では何かとヒストグラムを計算するケースがありますね。

これに伴い、ヒストグラムを計算できるライブラリは色々あるかと思いますが、OpenCVでもヒストグラムを計算する機能をもっています。 NumPyでもヒストグラムの計算できるじゃない、と思いますが、実はOpenCVの方がNumPyのヒストグラムよりも断然速いです。今回はその辺りの比較もおこなっていきます。

Grabcutsで背景と猫を分離したい

Grabcutsで背景と猫を分離したい

本記事はQrunchからの転載です。


次のような画像があったとします。

ここから猫だけ抽出したいときに、ツールを使えば少し手間はかかりますが、切り取れると思います。
実はOpenCVのGrabcutsを使えば非常に簡単にそれが実現できます。 (ディープラーニング使えばできるよね?はおいておいて)

Watershedで領域検出

Watershedで領域検出

本記事はQrunchからの転載です。


Watershedと呼ばれる方法を使うと、指定したマーカーの情報と画像のエッジから画像中の領域の分割をおこなってくれます。 マーカーとしては、この位置は領域1、この位置は領域2それ以外は背景だよといった感じの情報を与えます。