記事シリーズの目的
最近ゲームの解説動画を作っているのですが、その編集が面倒だったため自分の知ってる知識の寄せ集めでツールを作りました。
そのツールの応用性が高そうなので、ツールとソースを公開しておきたいというのと、広範囲の知識を寄せ集めたので応用例として残しておく価値があると思ったことから、ある程度分野ごとにまとめて記事にします。
https://github.com/mickie895/ONI_Movie_Cutter
今回作ったソースは上記からダウンロードできます。
使いたい人がいたら各自でビルドして使ってください。
ツールの目的
Oxygen Not Incluidedのプレイ動画を今作っているのですが、その動画はポーズ画面を全カットする編集を行う予定にしています。
試しに1.5時間のプレイ動画に対してカット編集を行ったら5時間かかったこと、今後もシリーズが続くことから手作業によるカット編集は無理があると判断し、ツールを作ることにしました。
記事シリーズの予定
以下のような3つの記事を作成予定。
- OpenCVSharp導入編(これ)
- OpenCVでの動画解析編
- GUI実装編
この記事の目的
OpenCVSharpの導入にドハマリしたのでそのメモ。
適当な解説記事を確認して導入しようとしたら記事の情報が古かった上にトラブった時の情報が無かった。
VisualStudioにOpenCVをインストールする時の手順
要約
Nugetのパッケージの説明文はよく読んで、記事投稿時点ではOpenCvSharp4.Windowsをインストールすればいいよ。
インストール方法
ソリューションエクスプローラの背景で右クリックし、NuGetパッケージの管理を選択する。
「参照」が選択されているから、検索欄にopencvsharpと入力して、説明文をよく読んで必要なものをインストールすること。
2020年10月時点では、WindowsならOpenCvSharp4.Windows
を選択すればオールインワンのパッケージがインストールできて手間がない。
よく読まなかった人の末路
自分はよく説明文を読まず、他の記事だけパッと見てOpenCvSharp4だけインストールしてしまった。
するとMat m = new Mat();
を実行するだけで
System.TypeInitializationException
やDllNotFoundException
が発生する。
また、これらの解決のために検索したが情報がかなり古く、NuGetパッケージの見直しの情報を示している人はいなかった。
よく説明文を読まずに導入するマヌケは自分だけだったのかもしれない。
例外をよく読んだらNuGetパッケージ内に含まれてないDLLを参照しようとしていたので、OpenCVSharpのインストールが完全ではなかったことに気が付き、どうにか導入できました。
こんなことにも数日ハマってしまったけど、とりあえず導入はできた。
次回、実際にOpenCVを使ってカット予定の場所を特定するアルゴリズムを組むところまで。