LoginSignup
1
3

More than 3 years have passed since last update.

OpenCVでプレイ動画の切り出しを自動化した話・OpenCVSharp導入ドハマり編

Last updated at Posted at 2020-10-14

記事シリーズの目的

最近ゲームの解説動画を作っているのですが、その編集が面倒だったため自分の知ってる知識の寄せ集めでツールを作りました。

そのツールの応用性が高そうなので、ツールとソースを公開しておきたいというのと、広範囲の知識を寄せ集めたので応用例として残しておく価値があると思ったことから、ある程度分野ごとにまとめて記事にします。

https://github.com/mickie895/ONI_Movie_Cutter
今回作ったソースは上記からダウンロードできます。
使いたい人がいたら各自でビルドして使ってください。

ツールの目的

Oxygen Not Incluidedのプレイ動画を今作っているのですが、その動画はポーズ画面を全カットする編集を行う予定にしています。

試しに1.5時間のプレイ動画に対してカット編集を行ったら5時間かかったこと、今後もシリーズが続くことから手作業によるカット編集は無理があると判断し、ツールを作ることにしました。

記事シリーズの予定

以下のような3つの記事を作成予定。

  1. OpenCVSharp導入編(これ)
  2. OpenCVでの動画解析編
  3. GUI実装編

この記事の目的

OpenCVSharpの導入にドハマリしたのでそのメモ。
適当な解説記事を確認して導入しようとしたら記事の情報が古かった上にトラブった時の情報が無かった。

VisualStudioにOpenCVをインストールする時の手順

要約

Nugetのパッケージの説明文はよく読んで、記事投稿時点ではOpenCvSharp4.Windowsをインストールすればいいよ。

インストール方法

ソリューションエクスプローラの背景で右クリックし、NuGetパッケージの管理を選択する。
nuget_1.PNG
「参照」が選択されているから、検索欄にopencvsharpと入力して、説明文をよく読んで必要なものをインストールすること。
nuget_2.PNG
2020年10月時点では、WindowsならOpenCvSharp4.Windowsを選択すればオールインワンのパッケージがインストールできて手間がない。

よく読まなかった人の末路

自分はよく説明文を読まず、他の記事だけパッと見てOpenCvSharp4だけインストールしてしまった。
するとMat m = new Mat();を実行するだけで
System.TypeInitializationExceptionDllNotFoundExceptionが発生する。
また、これらの解決のために検索したが情報がかなり古く、NuGetパッケージの見直しの情報を示している人はいなかった。
よく説明文を読まずに導入するマヌケは自分だけだったのかもしれない。

例外をよく読んだらNuGetパッケージ内に含まれてないDLLを参照しようとしていたので、OpenCVSharpのインストールが完全ではなかったことに気が付き、どうにか導入できました。

こんなことにも数日ハマってしまったけど、とりあえず導入はできた。
次回、実際にOpenCVを使ってカット予定の場所を特定するアルゴリズムを組むところまで。

1
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
3