OpenCV 4.12.0
開源計算機視覺
載入中...
搜尋中...
無匹配項
影片 I/O 的 WinRT 粘合層

詳細描述

列舉

列舉  {
  cv::OPEN_CAMERA = 300 ,
  cv::CLOSE_CAMERA ,
  cv::UPDATE_IMAGE_ELEMENT ,
  cv::SHOW_TRACKBAR
}
 

函式

void cv::winrt_imshow ()
 
void cv::winrt_onVisibilityChanged (bool visible)
 
void cv::winrt_setFrameContainer (::Windows::UI::Xaml::Controls::Image^ image)
 
template<typename ... Args>
void cv::winrt_startMessageLoop (std::function< void(Args...)> &&callback, Args... args)
 
template<typename ... Args>
void cv::winrt_startMessageLoop (void callback(Args...), Args... args)
 
template void cv::winrt_startMessageLoop (void callback(void))
 

列舉型別文件

◆ 匿名列舉

匿名列舉

#include <opencv2/videoio/cap_winrt.hpp>

列舉器
OPEN_CAMERA 
CLOSE_CAMERA 
UPDATE_IMAGE_ELEMENT 
SHOW_TRACKBAR 

函式文件

◆ winrt_imshow()

void cv::winrt_imshow ( )

#include <opencv2/videoio/cap_winrt.hpp>

注意
必須呼叫以更新附加的影像源。 程式碼示例可用於 winrt_startMessageLoop()

◆ winrt_onVisibilityChanged()

void cv::winrt_onVisibilityChanged ( bool visible)

#include <opencv2/videoio/cap_winrt.hpp>

注意
必須從 WinRT 特定回撥中呼叫以處理影像抓取器狀態。 以下是如何使用該類
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)
{
}
void winrt_onVisibilityChanged(bool visible)

◆ winrt_setFrameContainer()

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

#include <opencv2/videoio/cap_winrt.hpp>

注意
必須呼叫以分配 WinRT 控制元件,該控制元件持有您正在使用的影像。 程式碼示例可用於 winrt_startMessageLoop()

◆ winrt_startMessageLoop() [1/3]

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

◆ winrt_startMessageLoop() [2/3]

template<typename ... Args>
void cv::winrt_startMessageLoop ( void callbackArgs...,
Args... args )

◆ winrt_startMessageLoop() [3/3]

template void cv::winrt_startMessageLoop ( void callbackvoid)

#include <opencv2/videoio/cap_winrt.hpp>

注意
啟動 (1) 幀抓取迴圈和 (2) 訊息迴圈
  1. 作為引數傳遞的函式必須實現常見的 OCV 讀取幀模式(參見 cv::VideoCapture 文件)AND 呼叫 cv::winrt_imgshow()。
  2. 訊息處理迴圈是克服 WinRT 容器和型別轉換限制所必需的。 OCV 提供了預設實現。 以下是如何使用該類
    void cvMain()
    {
    Mat frame;
    cam.open(0);
    while (1)
    {
    cam >> frame;
    // 不要再次重新處理同一幀
    if (!cam.grab()) continue;
    // 您的處理邏輯在這裡
    // 更新 XAML 影像元件的必要步驟
    }
    }
    MainPage::MainPage()
    {
    InitializeComponent();
    }
    n 維密集陣列類
    定義 mat.hpp:830
    用於從影片檔案、影像序列或相機捕獲影片的類。
    Definition videoio.hpp:772
    virtual bool open(const String &filename, int apiPreference=CAP_ANY)
    開啟影片檔案或捕獲裝置或 IP 影片流以進行影片捕獲。
    virtual bool grab()
    從影片檔案或捕獲裝置捕獲下一幀。
    void winrt_setFrameContainer(::Windows::UI::Xaml::Controls::Image^ image)
    void winrt_startMessageLoop(std::function< void(Args...)> &&callback, Args... args)
    void winrt_imshow()