私はJavaプログラマです。プロジェクトでは、私はdropWizardのようなフレームワークを持っているjavaでC#ウィンドウフォームアプリケーションプログラミング を起動する必要があります。これらのフレームワークは個別にスレッディングを管理します またはイベントバスがあり、それを使ってpub/subとproducer/consumerを実装するのが最も簡単です。また、配信保証と自動スレッド管理があります(必要に応じてメッセージごとに新しいスレッドを作成します)配信保証と自動スレッドの発行者/サブスクライバC#
Frame Captured By Camera, do IO, do another IO -> First DoSome Image Processing -> Show on Form Picture Box -> Second Image Processing -> Match Similar Frames And Save in Data Structure
各画像処理は、多くの計算のを持っており、各フレームは独自の流れ フレームを同時に処理することができており、各処理ユニットは、私がイベントベースのプログラミングを使用することにしました 個別に作業することができます: 私はこの問題を解決する必要がありますc# イメージが最初のイメージ処理モジュールによって登録されたこのイベントによって関数によって発生したイベントをキャプチャした後で、Fir ST画像処理モジュールは、第2の画像処理ユニット にデータを渡すためにフォーム上の画像を表示し、別のイベントを上昇し、その作業の立ち上がりイベントをやっしかし、私は切り抜いた問題を持っている:
- 私が撮影した画像が原因の遅れで表示されます知っていますまず、画像処理ユニットの計算時間が、私はいくつかのフレームを逃したが、私はこれらの問題を解決する最善の策は何か、なぜ
を何らしていない私は、画像
を使用することができますが同期しています。 UIスレッドをブロックしないためには、TPLを使用する必要があります。 2番目の点については、あなたのコンテキストでどのフレームが意味するのか分かりません。いくつかのコードを表示します。 – Alex
@Alex各カメラフレームは単なるビットマップ画像です – user298582