~paparazzi-uav/paparazzi/v5.0-manual

« back to all changes in this revision

Viewing changes to sw/ext/opencv_bebop/opencv/samples/winrt_universal/VideoCaptureXAML/video_capture_xaml/video_capture_xaml.Windows/readme.txt

  • Committer: Paparazzi buildbot
  • Date: 2016-05-18 15:00:29 UTC
  • Revision ID: felix.ruess+docbot@gmail.com-20160518150029-e8lgzi5kvb4p7un9
Manual import commit 4b8bbb730080dac23cf816b98908dacfabe2a8ec from v5.0 branch.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
notes for OpenCV WinRT implementation:
 
2
 
 
3
cvMain() in main.cpp
 
4
  implements the image processing and OpenCV app control
 
5
  it is running on a background thread, started by XAML
 
6
  see file main.cpp
 
7
  in the Application project
 
8
 
 
9
class VideoCapture_WinRT:
 
10
  implements the IVideoCapture interface from OpenCV
 
11
  video is initialized and frames are grabbed on the UI thread
 
12
  see files cap_winrt.hpp/cpp
 
13
 
 
14
class HighguiBridge, a singleton
 
15
  implements the OpenCV Highgui functions for XAML (limited at this time),
 
16
  and also bridges to the UI thread functions for XAML and video operations.
 
17
  see files cap_winrt_highgui.hpp/cpp
 
18
 
 
19
class Video, a singleton
 
20
  encapsulates the Media Foundation interface needed for video initialization and grabbing.
 
21
  called through Highgui and XAML, only on the UI thread
 
22
  see files cap_winrt_video.hpp/cpp
 
23
 
 
24
threading:
 
25
  requests from the OpenCV bg thread to the Video/XAML UI thread
 
26
  are made through HighguiBridge::requestForUIthreadAsync(), which uses
 
27
  the "progress reporter" method provided by the WinRT class
 
28
  IAsyncActionWithProgress.  Also the bg thread is started by create_async().
 
29
  see file MainPage.xaml.cpp
 
30
  in the Application project