OpenCV 5.0.0
Open Source Computer Vision
読み込み中...
検索中...
見つかりません
🤖 AIによる機械翻訳(非公式) — これは OpenCV 5.0.0 公式リファレンス(英語)を AI (Claude) で自動翻訳したものです。訳に誤りを含む場合があります。正確な情報は 公式英語版(原文) を参照してください。
ビデオI/O向けWinRTグルー

詳細説明

列挙型

enum  {
  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))
 

列挙型詳解

◆ anonymous enum

anonymous enum

#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>

覚え書き
Starts (1) frame-grabbing loop and (2) message loop
  1. 引数として渡される関数は、OCVの一般的なフレーム読み取りパターン(cv::VideoCapture のドキュメントを参照)を実装し、かつ cv::winrt_imgshow() を呼び出さなければならない。
  2. WinRTコンテナと型変換の制約を克服するために必要なメッセージ処理ループである。OCVはデフォルト実装を提供する。このクラスの使用方法は以下のとおり:
    void cvMain()
    {
    Mat frame;
    cam.open(0);
    while (1)
    {
    cam >> frame;
    // don't reprocess the same frame again
    if (!cam.grab()) continue;
    // your processing logic goes here
    // obligatory step to get XAML image component updated
    }
    }
    MainPage::MainPage()
    {
    InitializeComponent();
    }
    Comma-separated Matrix Initializer.
    Definition mat.hpp:964
    Class for video capturing from video files, image sequences or cameras.
    Definition videoio.hpp:790
    virtual bool open(const String &filename, int apiPreference=CAP_ANY)
    Opens a video file or a capturing device or an IP video stream for video capturing.
    virtual bool grab()
    Grabs the next frame from video file or capturing device.
    void winrt_setFrameContainer(::Windows::UI::Xaml::Controls::Image^ image)
    void winrt_startMessageLoop(std::function< void(Args...)> &&callback, Args... args)
    void winrt_imshow()