前提・実現したいこと
visual studioでC#でプログラムを作成しています.
NugetからOpenCVSharpをインストールし,画像処理等を行おうとしていますが,エラーが出てしまいその原因が分かりませんでした.
とある機械を動かすために,人からもらったコードにカメラを使った処理を追加しようとしたのですが,OpenCVに関連するコードが関わると停止してしまします.
どのような原因が考えられるのでしょうか...
発生している問題・エラーメッセージ
2件の内部例外のうち1件 TypeInitializationException:'OpenCvSharo.NativeMethods'のタイプ初期化が例外をスローしました. 2件の内部例外のうち2件 BadImageFormatException:間違ったフォーマットのプログラムを読み込もうとしました
該当のソースコード
カメラを起動するボタンを押すとこのコードに飛びます.プログラム全体としては初めてOpenCVが関わる箇所です.
このコードが,OpenCVを用いて単純に自分のフォルダから画像を表示するものに変えても同様のエラーが出ます.
C#
1 using (var capture = new VideoCapture())
試したこと
1
エラーのに内容からx86/x64?(あまり詳しくないのですが)に関係するのかと思いましたが,明示的な指定をしてもうまくいきませんでした.普段はAny CPUで行っています.
2
先に述べた通り,一から自分で作ったものではないことが影響しているのかと考えています.自分で一からフォームを作成し,ボタンを押してカメラを起動させるプログラムを記述したものはうまく動作しました.(同様のコードをもらったコードに追記するとエラーがでました.)
3
問題の発生しているプログラムには,OpenCvSharp3-AnyCPUとOpenCvSharp4.Windowsがもらった時点で入っており,ビルドの時点では問題ないようになっていました.NugetよりOpenCvSharp4をインストールをしようとすると,「見つからないパッケージをダウンロードしています...」となりインストールに失敗してしまいます.そんなことあるのかと調べたのですが,解決策が分かりませんでした...
4
x86/x64に関連して,対象プラットフォームをAny CPUとしています.
「プロジェクト」→「プロパティ」→「ビルド」の欄で「32ビットを選ぶ」のチェックボックスが選択できないようになっていました.これも関連しているのでしょうか...
補足情報(FW/ツールのバージョンなど)
Windows10,visualstudio,C#,opencvsharpを使用しています.
あなたの回答
tips
プレビュー