質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
Windows 10

Windows 10は、マイクロソフト社がリリースしたOSです。Modern UIを標準画面にした8.1から、10では再びデスクトップ主体に戻され、UIも変更されています。PCやスマホ、タブレットなど様々なデバイスに幅広く対応していることが特徴です。

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

OpenCV

OpenCV(オープンソースコンピュータービジョン)は、1999年にインテルが開発・公開したオープンソースのコンピュータビジョン向けのクロスプラットフォームライブラリです。

Windows Forms

Windows Forms(WinForms)はMicrosoft .NET フレームワークに含まれる視覚的なアプリケーションのプログラミングインターフェイス(API)です。WinFormsは管理されているコードの既存のWindowsのAPIをラップすることで元のMicrosoft Windowsのインターフェイスのエレメントにアクセスすることができます。

Q&A

0回答

1436閲覧

OpenCvSharpに関わるコードでTypeInitializationExceptionがでる.OpenCvSharp4のインストールに失敗する.

7thmayoler_s

総合スコア0

Windows 10

Windows 10は、マイクロソフト社がリリースしたOSです。Modern UIを標準画面にした8.1から、10では再びデスクトップ主体に戻され、UIも変更されています。PCやスマホ、タブレットなど様々なデバイスに幅広く対応していることが特徴です。

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

OpenCV

OpenCV(オープンソースコンピュータービジョン)は、1999年にインテルが開発・公開したオープンソースのコンピュータビジョン向けのクロスプラットフォームライブラリです。

Windows Forms

Windows Forms(WinForms)はMicrosoft .NET フレームワークに含まれる視覚的なアプリケーションのプログラミングインターフェイス(API)です。WinFormsは管理されているコードの既存のWindowsのAPIをラップすることで元のMicrosoft Windowsのインターフェイスのエレメントにアクセスすることができます。

0グッド

0クリップ

投稿2021/11/09 10:29

前提・実現したいこと

visual studioでC#でプログラムを作成しています.
NugetからOpenCVSharpをインストールし,画像処理等を行おうとしていますが,エラーが出てしまいその原因が分かりませんでした.
とある機械を動かすために,人からもらったコードにカメラを使った処理を追加しようとしたのですが,OpenCVに関連するコードが関わると停止してしまします.
どのような原因が考えられるのでしょうか...

発生している問題・エラーメッセージ

2件の内部例外のうち1件 TypeInitializationException:'OpenCvSharo.NativeMethods'のタイプ初期化が例外をスローしました. 2件の内部例外のうち2件 BadImageFormatException:間違ったフォーマットのプログラムを読み込もうとしました

該当のソースコード

カメラを起動するボタンを押すとこのコードに飛びます.プログラム全体としては初めてOpenCVが関わる箇所です.
このコードが,OpenCVを用いて単純に自分のフォルダから画像を表示するものに変えても同様のエラーが出ます.

C#

1 using (var capture = new VideoCapture())

試したこと


エラーのに内容からx86/x64?(あまり詳しくないのですが)に関係するのかと思いましたが,明示的な指定をしてもうまくいきませんでした.普段はAny CPUで行っています.

先に述べた通り,一から自分で作ったものではないことが影響しているのかと考えています.自分で一からフォームを作成し,ボタンを押してカメラを起動させるプログラムを記述したものはうまく動作しました.(同様のコードをもらったコードに追記するとエラーがでました.)

問題の発生しているプログラムには,OpenCvSharp3-AnyCPUとOpenCvSharp4.Windowsがもらった時点で入っており,ビルドの時点では問題ないようになっていました.NugetよりOpenCvSharp4をインストールをしようとすると,「見つからないパッケージをダウンロードしています...」となりインストールに失敗してしまいます.そんなことあるのかと調べたのですが,解決策が分かりませんでした...

x86/x64に関連して,対象プラットフォームをAny CPUとしています.
「プロジェクト」→「プロパティ」→「ビルド」の欄で「32ビットを選ぶ」のチェックボックスが選択できないようになっていました.これも関連しているのでしょうか...

補足情報(FW/ツールのバージョンなど)

Windows10,visualstudio,C#,opencvsharpを使用しています.

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

TN8001

2021/11/10 14:17

カメラもないし特に知見があるわけではないのでこちらに書きます。 このあたりは大丈夫でしょうか? [When Error Occurs · shimat/opencvsharp Wiki](https://github.com/shimat/opencvsharp/wiki/When-Error-Occurs > OpenCvSharp3-AnyCPUとOpenCvSharp4.Windowsがもらった時点で入っており 普通3と4を混ぜて使うことはないと思うのですが。 もらった人に聞く・あるいはソリューション丸ごともらうことはできないのでしょうか??
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問