OpenCV  4.10.0
开源计算机视觉
正在加载...
正在搜索...
无匹配项
枚举 | 函数
WinRT 视频 I/O 粘合

详细描述

枚举

枚举  {
  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)
 
模板<typename ... Args>
void cv::winrt_startMessageLoop (std::function< void(Args...)> &&callback, Args... args)
 
模板<typename ... Args>
void cv::winrt_startMessageLoop (void callback(Args...), Args... args)
 
模板 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]

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

◆ winrt_startMessageLoop() [2/3]

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

◆ winrt_startMessageLoop() [3/3]

模板 void cv::winrt_startMessageLoop ( void   callbackvoid)

#include <opencv2/videoio/cap_winrt.hpp>

注意
启动 (1) 帧抓取循环和 (2) 消息循环
  1. 作为参数传递的函数必须实现常见的 OCV 读取帧模式(请参阅 cv::VideoCapture 文档)并调用 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:812
    用于从视频文件、图像序列或摄像头捕获视频的类。
    定义 videoio.hpp:731
    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()