iwasiblog

イワシブログ - Activity log of an iwasi -

Unity + OpenCvSharp (4.5.3)

UnityでOpenCVを使いたいときにOpenCvSharpが便利ですが,以前より導入手順が増えていたのでまとめます.

つかうもの

  • Windows 10 64bit
  • Unity 2020.3.22f1
  • NuGetForUnity 3.0.3
  • OpenCvSharp 4.5.3 (21 Aug., 2021)

手順1 : NuGetForUnityでOpenCvSharp4を導入

github.com ダウンロードしたunitypackageをUnityにインポートし,上部のメニューから NuGet > Manage Nuget Packages を開いて OpenCvSharp4.Windows をインストールします.

f:id:kuroiwasi:20211117075931p:plain
NuGetForUnityでOpenCvSharp4をインストールする
この時点では様々なエラーが出ているはずなので,解決していきます.

手順2 : dllのバージョンチェックを回避

依存しているライブラリのバージョンが違うと怒られているので(実際は問題ないバージョン),バージョンチェックそのものを回避してしまいます. 機能自体を無効化するには,Project Settings > Player > Other Settings > Configuration > Assembly Version Validation のチェックを外します.

f:id:kuroiwasi:20211117081216p:plain
Assembly Version Validationを無効化する
機能自体は無効化せず,各dllのインスペクタある Validate References で個別に設定することもできます.
f:id:kuroiwasi:20211117081457p:plain
dllのインスペクタではValidate Referencesを個別に設定できる

手順3: OpenCvSharpExtern.dllのインポート

実行に足りないdllを導入します.

github.com

より, OpenCvSharpから始まる名前のzipをダウンロードします.バージョンはNuGetで導入したOpenCvSharpに合わせます.ここでは最新版の4.5.3.
zip内の NativeLib > win > x64 にある OpenCvSharpExtern.dll をAssetフォルダ内の任意の場所に置きます.

以上で,UnityでOpenCVSharpを使う準備が整いました.

参考

UnityでOpenCVSharpを使う | Fantastic Works
DLL reference compiler error - Unity Forum