これは、それを使用したいすべての人のために私がしたことです:
- このバージョンの EmguCV をインストールすると、C でフォルダー EMGU が作成されます。
- このフォルダには、「emgucv-windows-universal-gpu 2.4.9.1847」という名前の単一のフォルダがあります</li>
- 「bin フォルダ」に移動</li>
- 「bin フォルダー」から、x86 フォルダー内のすべての dll (22 個の dll) と、bin 内の dll (12 個の dll: Emgu.CV、Emgu.CV.UI など) を直接コピーする必要があります。X64 ターゲットの場合、同じことを試すことができます。これは、X64 フォルダーから dll を取得することで機能すると思います。
- Unity プロジェクトに Plugins という名前のフォルダーを作成します (Assets->Plugins)。
- これら 34 個の dll ファイルをすべて Plugins フォルダーに貼り付けます。
- この 34 個の dll ファイルから、「npp32_50_35」と「cudart32_50_35」を Unity エディター フォルダー (私の場合は「C:\Program Files (x86)\Unity\Editor」) にコピーします。</li>
- Dlls に関する作業はこれで完了です。
これをテストする方法は次のとおりです。
「picture1.jpg」を受け取り、最初の 200 対角ピクセルの色を白色 (255,255,255) に変更し、新しい「picture2.jpg」を保存する小さなスクリプトを作成します。これは、スクリプトに入れる必要があるものです。 :
using UnityEngine;
using System.Collections;
using Emgu.CV;
using Emgu.CV.Util;
using Emgu.CV.UI;
using Emgu.CV.CvEnum;
using Emgu.CV.Structure;
using System.Runtime.InteropServices;
using System;
using System.Drawing;
Image<Bgr, byte> picture = new Image<Bgr, byte>("C:\\picture1.jpg");
Bgr myWhiteColor = new Bgr(255, 255, 255);
For (int i=0; i<200; i++)
{picture[i,i]= color;}
picture.Save("C:\\picture2.jpg");
Plugins フォルダに異なる dll を追加することで、それらは Mono Editor で自動的に参照されますが、おそらく「System.Drawing」ライブラリで問題が発生する可能性があるため、忘れないでくださいusing System.Drawing
。また、スクリプト エディターに移動して参照する必要があります。
MonoDevelop-Unity の場合は、左側のソリューション エクスプローラーに移動し、[Refrences] -> [参照の編集] -> を右クリックして、左側の列で system.drawing を検索し、右側の列に表示されることを確認して、[OK] を押します。
また、Unity->file->build settings でビルド設定を次のように変更することを忘れないでください。
- ウェブプレーヤーの代わりに PC Mac と Linux
- ターゲット=窓
- アーキテクチャ= x86
- 次に、「プレーヤー設定ボタン」を押して「新しい画面のその他の設定」に移動し、Api 互換性ラベルを .NET 2.0 サブセットではなく .NET 2.0 に設定します。
今のところ、自由にスクリプトをテストし、OpenCV を使用して素晴らしい作業を行うことができます
PS: なぜ「npp32_50_35」と「cudart32_50_35」が Editor フォルダーにある必要があるのかはわかりませんが、それが唯一の状況でした。