簡體   English   中英

手動停止 openCV 中的視頻

[英]manually stop a video in openCV

我有一個給我的 OpenCV 代碼,它使用圖片鏈接列表顯示視頻。 我想添加一個在循環的情況下使用鍵盤鍵停止視頻的選項。 我進行了一些搜索並找到了“WaitKey”功能,但我不確定在我的代碼中應該在哪里以及如何使用它。

cvNamedWindow("Display window", CV_WINDOW_AUTOSIZE); //create a window
FrameNode* head = list;
int imgNum = 1, playCount = 0;
IplImage* image;
while (playCount < GIF_REPEAT)
{
    while (list != 0)
    {
        image = cvLoadImage(list->frame->path, 1);
        IplImage* pGrayImg = 0;
        pGrayImg = cvCreateImage(cvSize(image->width, image->height), image->depth, 1);
        if (!image) //The image is empty - shouldn't happen since we checked already.
        {
            printf("Could not open or find image number %d", imgNum);
        }
        else
        {
            cvShowImage("Display window", image); //display the image
            cvWaitKey(list->frame->duration); //wait
            list = list->next;
            cvReleaseImage(&image);
        }
        imgNum++;
    }
    list = head; // rewind
    playCount++;
}
cvDestroyWindow("Display window");
return;
cv::imshow("display", image);
char ch = cv::waitKey(duration);
if (ch == ' ')
    ch = cv::waitKey(0);  // waits until user presses a key
if cv2.waitKey(1) & 0xFF == ord("q"):
                break
  • 把它放在第一個while循環中
  • 這將在按“q”程序停止執行后幫助您

waitKey(0將無限顯示 window 直到任意按鍵(適用於圖像顯示)。

waitKey(25)將顯示一幀25 ms ,之后顯示將自動關閉。 (如果你把它放在一個循環中讀取視頻,它會逐幀顯示視頻)

請參閱https://docs.opencv.org/2.4/modules/highgui/doc/user_interface.html?highlight=waitkey

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM