【入門編】画像処理ソフトOpenCVについて

プログラミング
この記事は約4分で読めます。
スポンサーリンク

皆さん、こんにちは!

今回は機械設計エンジニアの僕が今勉強している画像処理を題材に記事を作成しました。

こんなお悩みや疑問を解決します。

  • OpenCVってなに?
  • 自分で画像処理をしてみたい
  • お金をかけずに画像処理ができるソフトウェアを探している

結論から言うとOpenCVとは画像処理や動画処理ができるオープンソースのソフトになります。お金をかけずに画像処理に触れてみたい人にはおすすめ。ただし、プログラミングの必要があります。

以下で詳しく見ていきましょう!

OpenCVとは

このブログを見ている方は基本的に機械設計関係の方が多いと思いますので、専門分野外の人が大半かと思います。そこで簡単に言うとOpenCVとは画像処理や動画処理ができるオープンソースのライブラリになります。

公式サイト

困ったことに公式サイトは英語になりますが情報はネット上に結構転がっています。

例えば、ビジョンセンサなどを使った人は想像しやすいと思いますが、市販のビジョンセンサでは人を撮像したときに撮像範囲に移っている人の顔をしっかりと人の顔として認識するように簡単に設定ができます。

操作としては簡単に設定できますがその中では複雑な理論に基づいたプログラムが走っています。

OpenCVではそのプログラムの部分を作成を手助けしてくれるライブラリになります。とはいっても画像処理の理論的な部分は理解しないといけません。

画像処理には専門的な知識が必要になります。さらにはプログラミングの知識も必要になり、かなり敷居が高い分野です。しかし、OpenCVのおかげでその敷居もかなり低くなります。

フリーソフトなので無料で気軽に導入することができます。さらに商用利用も可能です。

産業利用も活発ですでにロボット開発や人工知能開発などに取り入れられています。

コードでは「C」「C++」「Java」「Python」などの言語が使用できます。Pythonが使用できるのでプログラミングの部分も少ないコードで済みます。CやC++の方がネット上の情報は多いようです。

OSはWindows、Mac、Linuxなどで使用できます。ラズベリーパイ(マイコン)とも相性がいいですね。

OpenCVでできること

OpenCVは本当にできることが多いです。OpenCVをマスターすればそれだけでかなり重宝される人材になるはずです。

具体的にはこんなことができます。

  • 画像・動画の読み込みや表示などの操作
  • 画像の編集
  • 機械学習
  • 画像認識(物体検出)
  • 物体追跡
  • カメラのキャリブレーション

PC上やサーバー上にある画像を読み出して表示することや編集した画像を登録したりすることができます。画像の編集ではサイズを変えたり、トリミングしたりすることができます。他にもカラー画像をグレースケールへの変換したり、2値化したりエッジ検出したりすることもできます。

機械学習もできます。例えば教師あり学習で人の顔の特徴や車の特徴を覚え込ませで物体検出や物体追跡などに応用することもできます。

カメラのキャリブレーションもできるのもポイントが高いです。

ロボットアームで掴むワークの画像を登録しておきます。カメラの撮像範囲内にワークがあればワークの中心位置の座標を検出してロボットに送るようなこともできますね!

ロボットのビジョンセンサに応用できる

僕が注目しているのはロボットや自動化分野での使用になります。

ビジョンセンサはそれだけでかなりの値段がします。便利なのですが、あまり性能の要求されないような場面では使えませんよね。特に趣味で使うような場合ではとても手が出ません。

30万画素程度のビジョンセンサでも数十万から100万円を超えるようなものもあります。

そういう時にOpenCVを使うとWebカメラなどを使って画像処理ができると格安でビジョンセンサを作ることができます。もちろん簡単ではありませんが。

キャリブレーションの機能もありますし、物体検出などもできるので簡単なピッキングやピックアンドプレース用のロボットビジョンには十分使用できると考えます。

実際にOpenCVを使ってビジョンセンサ作ってるメーカーっていっぱいあるんじゃないかなと思ってます。

個人で使用するにしても僕がやりたいようなレベルのことは情報はネット上にたくさんあるようです。

まとめ

OpenCVとは画像処理や動画処理ができるオープンソースのソフトになります。お金をかけずに画像処理に触れてみたい人にはおすすめ。ただし、プログラミングの必要があります。

具体的にはこんなことができます!

  • 画像・動画の読み込みや表示などの操作
  • 画像の編集
  • 機械学習
  • 画像認識(物体検出)
  • 物体追跡
  • カメラのキャリブレーション

他にも画像処理関連の情報を追加していきますので乞うご期待を!

コメント

タイトルとURLをコピーしました