WinRT glue for video I/O#

Detailed Description#

Enumerations#

View details

Enumeration Type Documentation#

enum#

#include <opencv2/videoio/cap_winrt.hpp>

Enumerator:

OPEN_CAMERA

CLOSE_CAMERA

UPDATE_IMAGE_ELEMENT

SHOW_TRACKBAR

Function Documentation#

winrt_imshow()#

void cv::winrt_imshow()

#include <opencv2/videoio/cap_winrt.hpp>

Note

Must be called to update attached image source. Code sample is available for winrt_startMessageLoop().

winrt_onVisibilityChanged()#

void cv::winrt_onVisibilityChanged(bool visible)

#include <opencv2/videoio/cap_winrt.hpp>

Note

Must be called from WinRT specific callback to handle image grabber state. Here is how the class can be used:

MainPage::MainPage()
{
    // ...
    Window::Current->VisibilityChanged += ref new Windows::UI::Xaml::WindowVisibilityChangedEventHandler(this, &Application::MainPage::OnVisibilityChanged);
    // ...
}

void Application::MainPage::OnVisibilityChanged(Platform::Object ^sender,
    Windows::UI::Core::VisibilityChangedEventArgs ^e)
{
    cv::winrt_onVisibilityChanged(e->Visible);
}

winrt_setFrameContainer()#

void cv::winrt_setFrameContainer(::Windows::UI::Xaml::Controls::Image^ image)

#include <opencv2/videoio/cap_winrt.hpp>

Note

Must be called to assign WinRT control holding image you’re working with. Code sample is available for winrt_startMessageLoop().

winrt_startMessageLoop()#

template<typename ... Args>
void cv::winrt_startMessageLoop(
std::function< void(Args…)> && callback,
Args… args )

#include <opencv2/videoio/cap_winrt.hpp>

winrt_startMessageLoop()#

template<typename ... Args>
void cv::winrt_startMessageLoop(
voidArgs… callback,
Args… args )

#include <opencv2/videoio/cap_winrt.hpp>

winrt_startMessageLoop()#

template void cv::winrt_startMessageLoop(voidvoid callback)

#include <opencv2/videoio/cap_winrt.hpp>

Note

Starts (1) frame-grabbing loop and (2) message loop

  1. Function passed as an argument must implement common OCV reading frames pattern (see cv::VideoCapture documentation) AND call cv::winrt_imgshow().

  2. Message processing loop required to overcome WinRT container and type conversion restrictions. OCV provides default implementation Here is how the class can be used: