質問: pictureBox1->CreateGraphics(); //グラフィックオブジェクト作成 gp->DrawImage(bmp, 0, 0, cols / 2, rows / 2); Sleep(100); } ``` に書き換えると2~3フレーム目でフォーム操作をしなくても問題が発生。Sleep(10)だと発生しないが、Sleepさせない時よりフォーム操作等により問題が発生する確率は上がっていると感じた。 以上からgp->DrawImageを実行中にイベントを引き起こすと発生するようなのですが、どのように変更したら良いのかわかりません。ご教授お願い致します。 ### 補足情報(言語/FW/ツール等のバージョンなど) Microsoft Visual Studio Express 2013 for Windows Desktop OpenCV 2.4.13
回答: こんにちは。 BeginInvoke()は非同期で要求を発行するため、次々とupdateImageDelegateが要求され、メイン・スレッドの処理が追いつかなくなって異常動作しているのではないでしょうか? BeginImvoke()ではなくInvoke()を使ってメイン・スレッドの処理完了を待てばよいように思います。