1. HOME
  2. ブログ
  3. IT技術
  4. Unity+OpenCVで画像処理に挑戦!
Unity+OpenCVで画像処理に挑戦!

Unity+OpenCVで画像処理に挑戦!

Unity に OpenCV が対応

ゲームエンジンの中でも世界最大のシェアを誇る「Unity」。

画像処理ライブラリ「OpenCV」が Unity に対応したため、画像処理が簡単にできるようになりました。

今回は、Unity で OpenCV を使い、画像処理する方法を解説していきます。

こちらの記事もオススメ!



OpenCV とは?

対応言語C/C++、Java、Python、MATLAB

「OpenCV」とは、Intel が開発したコンピュータビジョン向けライブラリです。

画像処理機能だけではなく、解析や機械学習機能も備えています。

マルチプラットフォーム対応かつ、オープンソースなので、基本的には無料で使うことができます。

【OpenCV 公式サイト】
https://opencv.org/

OpenCV でできること

  1. リサイズ、トリミング、モザイク処理、色処理などの基本的な画像処理
  2. 物体検出・追跡
  3. カメラキャリブレーション
  4. コンピュテーショナルフォトグラフィ
  5. 機械学習
  6. GUI

実際に Unity + OpenCV で画像処理に挑戦!

それでは、実際に Unity と OpenCV を使って画像処理をやってみましょう!

アセットストアからアセットをダウンロード

まずは、以下のリンクからアセットをダウンロードしましょう。

その後、Unity エディタでインポートしてください。

【OpenCV plus Unity】
https://assetstore.unity.com/packages/tools/integration/opencv-plus-unity-85928

安全ではないコードの実行を許可

Unity で OpenCV を使うには、コードの実行を許可する必要があります。

Build Settings → Player Settings のインスペクタから「Unsafecode」を許可します。

安全ではないコードの実行を許可

ポインタなどを使う時も、これと同様です。

必要なファイルとオブジェクトを用意する

今回は、以下の画像ファイルを使います。

必要なファイルとオブジェクトを用意する 星・丸・四角

この画像ファイルをダウンロードし、コピーの上、名前を変えて2つのファイルをインポートしましょう。

画像設定を変更

さらに、画像の設定を以下の通りに変更してください。

「Read/Write Enable」で、外部ソースコードからの処理を許可します。

画像設定を変更

RawImage を配置

次に、Unity の Scene 内に、2つの RawImage を配置します。

RawImage を配置

ソースコードの記述

最後に、以下のソースコードを、先ほど用意した RawImage にアタッチします。

「originalimage」の部分に、元の画像が代入されます。

結果を確認

結果は、以下のようになります。

結果を確認

見事、青色のみを抽出することが出来ました!

OpenCV と HSV 形式

今回は「HSV形式」で色を指定しています。

HSV は一般に用いられる RGB と違い、「色相」「彩度」「明度」の3成分で色を決定します。

OpenCV の HSV 色空間

OpenCV で HSV 形式を使う場合、各成分の値は以下の通りです。

色相(Hue)0~180
彩度(Saturation)0~255
明度(Value)0~255

本来、HSV 形式の色相の値は「0~360」なのですが、OpenCV の色相最大値は「180」なので注意してください。

黄色を指定

例として、黄色を指定してみましょう。

上記のコードでは、この部分で青色を指定しています。

ここを以下のように変えれば、黄色が抽出されます。

実行

実行してみると、以下のようになるはずです。

黄色を指定 実行画像

さいごに

今回は、Unity と OpenCV を使って画像処理する方法をご紹介しました。

アセットを使えば、「ゲームの処理」と「画像処理」を一つのソフトに統合できるため便利ですよ。

画像処理以外にも、OpenCV には便利な機能がたくさんあるのでオススメです!

記事を書いた人

\ 3度のメシより技術が好き /
(株)ライトコードは、WEB・アプリ・ゲーム開発に強い「好きを仕事にするエンジニア集団」です。
システム開発依頼・お見積もりはこちらまでお願いします。
また、WEB・スマホ系エンジニアを積極採用中です!
※現在、多数のお問合せを頂いており、返信に、多少お時間を頂く場合がございます。

こちらの記事もオススメ!



ライトコードよりお知らせ

にゃんこ師匠にゃんこ師匠
システム開発のご相談やご依頼はこちら
ミツオカミツオカ
ライトコードの採用募集はこちら
にゃんこ師匠にゃんこ師匠
社長と一杯飲みながらお話してみたい方はこちら
ミツオカミツオカ
フリーランスエンジニア様の募集はこちら
にゃんこ師匠にゃんこ師匠
その他、お問い合わせはこちら
ミツオカミツオカ
   
お気軽にお問い合わせください!せっかくなので、別の記事もぜひ読んでいって下さいね!

一緒に働いてくれる仲間を募集しております!

ライトコードでは、仲間を募集しております!

当社のモットーは「好きなことを仕事にするエンジニア集団」「エンジニアによるエンジニアのための会社」。エンジニアであるあなたの「やってみたいこと」を全力で応援する会社です。

また、ライトコードは現在、急成長中!だからこそ、あなたにお任せしたいやりがいのあるお仕事は沢山あります。「コアメンバー」として活躍してくれる、あなたからのご応募をお待ちしております!

なお、ご応募の前に、「話しだけ聞いてみたい」「社内の雰囲気を知りたい」という方はこちらをご覧ください。

ライトコードでは一緒に働いていただける方を募集しております!

採用情報はこちら

書いた人はこんな人

ライトコードメディア編集部
ライトコードメディア編集部
「好きなことを仕事にするエンジニア集団」の(株)ライトコードのメディア編集部が書いている記事です。

関連記事

初心者が3ヶ月でどれくらいプログラミングができるようになるのか

採用情報

\ あの有名サービスに参画!? /

バックエンドエンジニア

\ クリエイティブの最前線 /

フロントエンドエンジニア

\ 世界はお前の手の中に・・・ /

モバイルエンジニア

\ サービスの守り神! /

インフラエンジニア

初心者が3ヶ月でどれくらいプログラミングができるようになるのか

初心者が3ヶ月でどれくらいプログラミングができるようになるのか