啟動Viz

2018-10-27 10:22 更新

目標(biāo)

在本教程中,您將學(xué)習(xí)如何

  • 打開一個可視化窗口。
  • 以其名稱訪問窗口。
  • 啟動事件循環(huán)。
  • 在特定時間內(nèi)啟動事件循環(huán)。

Code

你可以從這里下載代碼。


#include <opencv2/viz.hpp>
#include <iostream>
using namespace cv;
using namespace std;
static void help()
{
    cout
    << "--------------------------------------------------------------------------" << endl
    << "This program shows how to launch a 3D visualization window. You can stop event loop to continue executing. "
    << "You can access the same window via its name. You can run event loop for a given period of time. " << endl
    << "Usage:"                                                                     << endl
    << "./launching_viz"                                                            << endl
    << endl;
}
int main()
{
    help();
    viz::Viz3d myWindow("Viz Demo");
    myWindow.spin();
    cout << "First event loop is over" << endl;
    viz::Viz3d sameWindow = viz::getWindowByName("Viz Demo");
    sameWindow.spin();
    cout << "Second event loop is over" << endl;
    sameWindow.spinOnce(1, true);
    while(!sameWindow.wasStopped())
    {
        sameWindow.spinOnce(1, true);
    }
    cout << "Last event loop is over" << endl;
    return 0;
}

說明

這是程序的一般結(jié)構(gòu):

  • 創(chuàng)建一個窗口。
viz :: Viz3d myWindow(“Viz Demo”);
  • 此事件循環(huán)將運行,直到用戶通過按E、E、Q、Q終止它。
myWindow.spin();
  • 通過其名稱訪問相同的窗口。由于窗口是隱式共享的,所以windowWindow與myWindow完全相同。如果名稱不存在,將創(chuàng)建一個新窗口。
viz :: Viz3d sameWindow = viz :: get(“Viz Demo”);

啟動受控事件循環(huán)。一旦啟動,wasStopped設(shè)置為false。在while循環(huán)中,在每次迭代中,調(diào)用spinOnce來防止事件循環(huán)完全停止。在while循環(huán)中,用戶可以執(zhí)行其他語句,包括與窗口交互的語句。

sameWindow.spinOnce(1,true);
while(!sameWindow.wasStopped())
{
    sameWindow.spinOnce(1,true);
}

結(jié)果

這是程序的結(jié)果。

啟動Viz

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號