黄视频网站在线免费观看-黄视频网站在线看-黄视频网站在线观看-黄视频网站免费看-黄视频网站免费观看-黄视频网站免费

千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機(jī)構(gòu)

手機(jī)站
千鋒教育

千鋒學(xué)習(xí)站 | 隨時(shí)隨地免費(fèi)學(xué)

千鋒教育

掃一掃進(jìn)入千鋒手機(jī)站

領(lǐng)取全套視頻
千鋒教育

關(guān)注千鋒學(xué)習(xí)站小程序
隨時(shí)隨地免費(fèi)學(xué)習(xí)課程

當(dāng)前位置:首頁(yè)  >  技術(shù)干貨  > waitkey函數(shù)詳解

waitkey函數(shù)詳解

來(lái)源:千鋒教育
發(fā)布人:xqq
時(shí)間: 2023-11-21 15:31:53 1700551913

一、waitkey函數(shù)是什么

waitkey函數(shù)是openCV庫(kù)中一個(gè)非常重要的函數(shù),它的主要作用是等待用戶按下某個(gè)鍵,同時(shí)它還會(huì)返回該按鍵的ASCII碼值。在圖像處理的過(guò)程中,waitkey函數(shù)通常用來(lái)實(shí)現(xiàn)按鍵控制,比如實(shí)現(xiàn)按Esc鍵退出程序。

int waitKey(int delay)

二、waitkey函數(shù)的調(diào)用方法

waitkey函數(shù)的調(diào)用非常簡(jiǎn)單,只需要將想要等待的時(shí)間以毫秒為單位作為參數(shù)傳遞給該函數(shù)即可。如果在等待過(guò)程中用戶沒(méi)有按下任何鍵,waitkey函數(shù)會(huì)在超時(shí)后返回-1。

例如:

char key = 0;
while(key != 27) // 27是ASCII碼中的Esc鍵
{
    Mat frame;
    cap >> frame; // 讀取一幀圖像
    imshow("video", frame); // 在窗口中顯示該幀圖像
    key = waitKey(30); // 等待30毫秒,如果用戶按下任意鍵則返回該鍵的ASCII碼值
}

三、waitkey函數(shù)的注意事項(xiàng)

四、waitkey函數(shù)的實(shí)例

1、實(shí)現(xiàn)按Esc鍵退出程序

int main()
{
    VideoCapture cap(0); // 打開(kāi)攝像頭
    if (!cap.isOpened()) // 如果攝像頭未正常打開(kāi),則結(jié)束程序
        return -1;
    namedWindow("video", CV_WINDOW_NORMAL); // 建立一個(gè)名為"video"的窗口
    char key = 0;
    while(key != 27) // 27是ASCII碼中的Esc鍵
    {
        Mat frame;
        cap >> frame; // 讀取一幀圖像
        imshow("video", frame); // 在窗口中顯示該幀圖像
        key = waitKey(30); // 等待30毫秒,如果用戶按下任意鍵則返回該鍵的ASCII碼值
    }
    destroyWindow("video"); // 銷毀窗口
    return 0;
}

2、實(shí)現(xiàn)按下s鍵保存當(dāng)前幀圖像

int main()
{
    VideoCapture cap(0); // 打開(kāi)攝像頭
    if (!cap.isOpened()) // 如果攝像頭未正常打開(kāi),則結(jié)束程序
        return -1;
    namedWindow("video", CV_WINDOW_NORMAL); // 建立一個(gè)名為"video"的窗口
    char key = 0;
    int count = 0; // 用于保存圖像的計(jì)數(shù)器
    while(key != 27) // 27是ASCII碼中的Esc鍵
    {
        Mat frame;
        cap >> frame; // 讀取一幀圖像
        imshow("video", frame); // 在窗口中顯示該幀圖像
        key = waitKey(30); // 等待30毫秒,如果用戶按下任意鍵則返回該鍵的ASCII碼值
        if (key == 's') // 如果用戶按下s鍵,則保存當(dāng)前幀圖像
        {
            String savePath = format("./image/frame_%d.jpg", count++);
            imwrite(savePath, frame);
            cout << "Save image " << savePath << " successfully!" << endl;
        }
    }
    destroyWindow("video"); // 銷毀窗口
    return 0;
}

3、實(shí)現(xiàn)通過(guò)按下數(shù)字鍵來(lái)切換視頻流

int main()
{
    vector files; // 用于存儲(chǔ)視頻流文件名的向量
    files.push_back("./video/video1.mp4");
    files.push_back("./video/video2.mp4");
    files.push_back("./video/video3.mp4");
    int index = 0; // 當(dāng)前視頻流的索引
    VideoCapture cap(files[index]); // 打開(kāi)第一個(gè)視頻流
    if (!cap.isOpened()) // 如果視頻流未正常打開(kāi),則結(jié)束程序
        return -1;
    namedWindow("video", CV_WINDOW_NORMAL); // 建立一個(gè)名為"video"的窗口
    char key = 0;
    while(key != 27) // 27是ASCII碼中的Esc鍵
    {
        Mat frame;
        cap >> frame; // 讀取一幀圖像
        imshow("video", frame); // 在窗口中顯示該幀圖像
        key = waitKey(30); // 等待30毫秒,如果用戶按下任意鍵則返回該鍵的ASCII碼值
        if (key >= '1' && key <= '3') // 如果用戶按下數(shù)字鍵,則切換到對(duì)應(yīng)的視頻流
        {
            index = key - '1';
            cap.release(); // 釋放當(dāng)前視頻流
            cap.open(files[index]); // 打開(kāi)新的視頻流
        }
    }
    destroyWindow("video"); // 銷毀窗口
    return 0;
}

4、實(shí)現(xiàn)打開(kāi)多個(gè)攝像頭并顯示在不同的窗口中

int main()
{
    VideoCapture cap1(0); // 打開(kāi)第一個(gè)攝像頭
    if (!cap1.isOpened()) // 如果攝像頭未正常打開(kāi),則結(jié)束程序
        return -1;
    VideoCapture cap2(1); // 打開(kāi)第二個(gè)攝像頭
    if (!cap2.isOpened()) // 如果攝像頭未正常打開(kāi),則結(jié)束程序
        return -1;
    namedWindow("video1", CV_WINDOW_NORMAL); // 建立一個(gè)名為"video1"的窗口
    namedWindow("video2", CV_WINDOW_NORMAL); // 建立一個(gè)名為"video2"的窗口
    char key = 0;
    while(key != 27) // 27是ASCII碼中的Esc鍵
    {
        Mat frame1, frame2;
        cap1 >> frame1; // 讀取第一個(gè)攝像頭的一幀圖像
        cap2 >> frame2; // 讀取第二個(gè)攝像頭的一幀圖像
        imshow("video1", frame1); // 在"video1"窗口中顯示第一個(gè)攝像頭的幀圖像
        imshow("video2", frame2); // 在"video2"窗口中顯示第二個(gè)攝像頭的幀圖像
        key = waitKey(30); // 等待30毫秒,如果用戶按下任意鍵則返回該鍵的ASCII碼值
    }
    destroyWindow("video1"); // 銷毀"video1"窗口
    destroyWindow("video2"); // 銷毀"video2"窗口
    return 0;
}

聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
10年以上業(yè)內(nèi)強(qiáng)師集結(jié),手把手帶你蛻變精英
請(qǐng)您保持通訊暢通,專屬學(xué)習(xí)老師24小時(shí)內(nèi)將與您1V1溝通
免費(fèi)領(lǐng)取
今日已有369人領(lǐng)取成功
劉同學(xué) 138****2860 剛剛成功領(lǐng)取
王同學(xué) 131****2015 剛剛成功領(lǐng)取
張同學(xué) 133****4652 剛剛成功領(lǐng)取
李同學(xué) 135****8607 剛剛成功領(lǐng)取
楊同學(xué) 132****5667 剛剛成功領(lǐng)取
岳同學(xué) 134****6652 剛剛成功領(lǐng)取
梁同學(xué) 157****2950 剛剛成功領(lǐng)取
劉同學(xué) 189****1015 剛剛成功領(lǐng)取
張同學(xué) 155****4678 剛剛成功領(lǐng)取
鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
董同學(xué) 138****2867 剛剛成功領(lǐng)取
周同學(xué) 136****3602 剛剛成功領(lǐng)取
相關(guān)推薦HOT
set+e在編程中的應(yīng)用

一、什么是set+eSet+e是一種在編程中廣泛應(yīng)用的數(shù)據(jù)結(jié)構(gòu),也被稱為集合。簡(jiǎn)單來(lái)說(shuō),集合就是一組互不相同的元素。在編程中,Set+e通常用于存儲(chǔ)...詳情>>

2023-11-21 17:27:06
實(shí)卡接碼短信平臺(tái)及其應(yīng)用

一、平臺(tái)介紹實(shí)卡接碼短信平臺(tái)是一種可以自動(dòng)處理短信驗(yàn)證碼的平臺(tái)。該平臺(tái)主要由短信接口、卡池管理、卡池調(diào)度、號(hào)碼顯匿、號(hào)碼推送等模塊組成...詳情>>

2023-11-21 16:43:54
Nginx日志格式詳解

一、Nginx日志格式Nginx是一款高性能的HTTP和反向代理服務(wù)器,它采用默認(rèn)的日志格式記錄所有請(qǐng)求和響應(yīng)。Nginx日志格式由以下幾個(gè)部分組成:log...詳情>>

2023-11-21 16:15:06
銀行卡號(hào)正則表達(dá)式詳解

一、銀行卡號(hào)正則校驗(yàn)銀行卡號(hào)是我們?nèi)粘I钪薪?jīng)常接觸到的一個(gè)數(shù)字串,如何驗(yàn)證銀行卡號(hào)的正確性呢?通過(guò)正則表達(dá)式來(lái)實(shí)現(xiàn)正則校驗(yàn)是最直接有...詳情>>

2023-11-21 16:04:18
Swift數(shù)組截取詳解

一、基本概念1、Swift數(shù)組//定義一個(gè)包含整型數(shù)據(jù)的數(shù)組var arr: Array = [120, 130, 140, 150, 160]2、ArraySlice數(shù)組片段A詳情>>

2023-11-21 16:00:41
美女免费精品高清毛片在线视| 亚欧成人毛片一区二区三区四区| 国产激情视频在线观看| 日本在线www| 你懂的日韩| 国产国语在线播放视频| 精品视频在线看 | 91麻豆精品国产自产在线观看一区 | 国产高清在线精品一区二区| 在线观看成人网| 日日夜夜婷婷| 韩国毛片 免费| 国产高清在线精品一区a| 成人影视在线播放| 亚洲第一页色| 精品国产一区二区三区精东影业| 精品国产香蕉在线播出| 欧美日本免费| 日本特黄一级| 国产一区二区精品久久91| 黄色免费三级| 国产成人啪精品| 久久久久久久免费视频| 亚洲女初尝黑人巨高清在线观看| 日本伦理黄色大片在线观看网站| 日韩免费在线视频| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 久久久久久久久综合影视网| 亚洲爆爽| 99久久精品国产免费| 国产成人啪精品视频免费软件| 久久99爰这里有精品国产| 可以免费看毛片的网站| 午夜欧美福利| 久久国产精品自线拍免费| 韩国毛片免费| 亚飞与亚基在线观看| 97视频免费在线观看| 国产网站在线| 精品在线免费播放| 亚欧视频在线| 日韩专区亚洲综合久久| 在线观看成人网| 亚洲天堂免费| 欧美一区二区三区在线观看| 深夜做爰性大片中文| 一级女性全黄生活片免费| 四虎影视库| 久草免费资源| 欧美激情一区二区三区视频高清| 99久久精品国产免费| 精品国产亚洲人成在线| a级毛片免费观看网站| 欧美激情一区二区三区在线| 午夜在线亚洲男人午在线| 美女免费精品高清毛片在线视| 尤物视频网站在线| 毛片的网站| 亚洲爆爽| 欧美另类videosbestsex| 成人影院一区二区三区| 日韩中文字幕在线亚洲一区| 久久国产一区二区| 日韩一级精品视频在线观看| 国产不卡在线播放| 国产a一级| 一本伊大人香蕉高清在线观看| 精品视频一区二区三区免费| 日韩av东京社区男人的天堂| 日韩女人做爰大片| 一级片免费在线观看视频| 99久久精品国产麻豆| 日日夜夜婷婷| 日本免费乱理伦片在线观看2018| 国产原创视频在线| 韩国三级视频网站| 成人免费观看男女羞羞视频| 国产亚洲精品aaa大片| 国产不卡高清| a级毛片免费全部播放| 亚洲 激情| 成人a大片高清在线观看| 欧美另类videosbestsex高清| 一级女性全黄生活片免费| 日本特黄一级| 一级女性全黄生活片免费| 一级毛片视频在线观看| 国产精品1024永久免费视频| 青青青草影院| 可以免费看毛片的网站| 高清一级毛片一本到免费观看| 日韩在线观看视频黄| 色综合久久手机在线| 亚洲天堂免费| 精品国产亚洲人成在线| 精品久久久久久中文字幕2017| 99久久精品国产免费| 一级女性全黄生活片免费| 天天做日日爱| 国产精品自拍在线| 日韩中文字幕一区| 欧美大片一区| 国产伦精品一区二区三区无广告 | 精品国产一区二区三区久| 成人影院久久久久久影院| 久久国产一区二区| 色综合久久久久综合体桃花网| 国产高清在线精品一区a| 成人高清视频在线观看| 国产伦精品一区二区三区无广告| 香蕉视频久久| 久久国产一区二区| 毛片的网站| 91麻豆国产| 精品视频一区二区| 国产一区二区精品| 一级片片| 精品久久久久久中文| 亚飞与亚基在线观看| 亚飞与亚基在线观看| 91麻豆国产| 国产一级生活片| 亚洲不卡一区二区三区在线| 91麻豆国产| 国产91视频网| 日韩中文字幕一区| 天天色成人网| 久久久成人网| 日本伦理黄色大片在线观看网站| 日韩免费在线| 国产一区二区福利久久| 九九精品久久久久久久久| 成人高清视频免费观看| 免费国产一级特黄aa大片在线| 国产一区二区精品| 欧美大片aaaa一级毛片| 色综合久久天天综合绕观看| 九九九网站| 精品国产香蕉伊思人在线又爽又黄| 日本伦理片网站| 久久精品道一区二区三区| 四虎久久精品国产| 亚洲爆爽| 国产激情一区二区三区| 精品视频在线观看视频免费视频 | 麻豆污视频| 日韩综合| 欧美一区二区三区在线观看| 可以免费看毛片的网站| 国产成人欧美一区二区三区的| 麻豆系列 在线视频| 999精品影视在线观看| 亚洲精品影院| 国产网站在线| 麻豆系列 在线视频| 在线观看成人网| 国产一区二区精品| 999久久66久6只有精品| 欧美另类videosbestsex| 夜夜操网| 一级毛片视频在线观看| 久久99青青久久99久久| 中文字幕97| 欧美爱爱动态| 欧美一区二区三区性| 欧美18性精品| 精品视频在线观看视频免费视频 | 国产极品白嫩美女在线观看看| 国产成人精品综合| 日韩欧美一二三区| 国产原创中文字幕| 日韩男人天堂| 国产网站免费在线观看| 尤物视频网站在线| 精品国产一区二区三区久久久狼| 精品在线免费播放| 日韩男人天堂| 91麻豆爱豆果冻天美星空| 二级特黄绝大片免费视频大片| 91麻豆tv| 欧美激情一区二区三区视频 | 黄色短视屏| 国产一区二区高清视频| 国产伦精品一区二区三区无广告 | 美女免费精品视频在线观看| 久久久久久久免费视频| 国产综合91天堂亚洲国产| 日韩专区一区| 欧美国产日韩久久久| 日本伦理网站| 高清一级做a爱过程不卡视频| 免费的黄色小视频| 日本免费乱人伦在线观看 | 欧美1区| 午夜在线亚洲| 二级片在线观看| 国产伦精品一区二区三区在线观看 | 久久成人综合网| 黄色福利片| 一级毛片视频在线观看|