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

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

新規登録して質問してみよう
ただいま回答率
86.12%
MFC

MFC (Microsoft Fouondation Class)とは、MicrosoftがVC++用に開発したWindows用アプリケーションのフレームワークです。

Visual C++

Microsoft Visual C++はWindowsのCとC++の統合開発環境(IDE)であり、コンパイラやデバッガを含んでいます。

OpenCV

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

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

受付中

動画像を表示しつつ、画面上のボタン(キャプチャ)クリックでキャプチャすると例外が発生する。

aki_d0x0b
aki_d0x0b

総合スコア1

MFC

MFC (Microsoft Fouondation Class)とは、MicrosoftがVC++用に開発したWindows用アプリケーションのフレームワークです。

Visual C++

Microsoft Visual C++はWindowsのCとC++の統合開発環境(IDE)であり、コンパイラやデバッガを含んでいます。

OpenCV

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

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

0回答

0リアクション

0クリップ

464閲覧

投稿2021/09/12 01:55

■実現したいこと
動画像を表示しつつ、画面上のボタン(キャプチャ)クリックでキャプチャしたい。

■状況
2~3度キャプチャボタンクリックすると、例外でアプリが落ちる。
'System.AccessViolationException' のハンドルされていない例外が xxxxxx.dll で発生しました。

■コード
// 動画表示スレッド
UINT CSample::CallReadThreadProc(LPVOID pParam)
{
CSample *hWndMain = (CSample *)pParam;

hWndMain->m_capture.open(0); while (!hWndMain->m_bIsReadTerminate) { hWndMain->m_capture.read(original); : : } : :

}

// キャプチャボタンクリック
BOOL CSample::OnBtnCaptureClicked()
{
cv::Mat original;

//読み込み m_capture.read(original); //ファイル保存 cv::imwrite(保存先ファイルパス, original); : :

}

■試したこと
m_capture.readがバッティングしていることが原因かと思い、
クリティカルセクションを張ってみましたが、
事象変わらずでした。

■環境
Visual Studio 2010
C++(MFC)
opencv-2.4.9

以下のような質問にはリアクションをつけましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

リアクションが多い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

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

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

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

下記のような質問は推奨されていません。

  • 間違っている
  • 質問になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

適切な質問に修正を依頼しましょう。

dodox86

2021/09/12 02:00 編集

CriticalSectionで排他するにはちょっと重過ぎる処理に思いますが、それは置いておいても排他、複数スレッドの連携の仕方が間違っていたのでは?
fana

2021/09/14 02:25

> 動画表示スレッド という言葉が気になる.「表示」とは?
yominet

2021/09/14 10:48

提示されているソースが省略されすぎてると思います >m_capture.readがバッティングしていることが原因かと思い のように、当たりをつけて調査することは正しいと思いますが その予測が外れている可能性もあります。 質問掲示板のような場においては、できるだけ情報を隠さないほうがいいです。 ところで・・・ 1.debug/releaseのどっちで(どっちも)おきているのか? 2.VisualStudioからデバッグ起動でもおきるのか?起きているならブレイクして確認できないのか? 3.originalの中身がちゃんと入っているかチェックしてますか? 4.片方のreadで1フレームを取得するともう一方のreadでは同じものは取得できないがそれでいいのか?
退会済みユーザー

退会済みユーザー

2021/09/29 04:31

stacktrace確認して、ソースのどこが該当しているのかを確認する必要がありますね

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

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

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

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

ただいまの回答率
86.12%

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

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

質問する

関連した質問

同じタグがついた質問を見る

MFC

MFC (Microsoft Fouondation Class)とは、MicrosoftがVC++用に開発したWindows用アプリケーションのフレームワークです。

Visual C++

Microsoft Visual C++はWindowsのCとC++の統合開発環境(IDE)であり、コンパイラやデバッガを含んでいます。

OpenCV

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

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。