在 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
将无限显示窗口,直到任何按键(它适用于图像显示(。
waitKey(25)
将显示一个25 ms
帧,之后显示将自动关闭。(如果将其循环阅读视频,它将逐帧显示视频(
请参阅 https://docs.opencv.org/2.4/modules/highgui/doc/user_interface.html?highlight=waitkey
相关文章:
- 如何使用OpenCV-C++编写*.mp4视频?
- OpenCV QT,显示视频的帧(不使用while循环)
- 在 openCV 中手动停止视频
- 在macOS Mojave上尝试OpenCV视频捕获时"Abort Trap: 6"
- 如何OPENCV+CUDA+视频捕获?
- 如何使用OpenCV同时显示"深度"和"颜色"视频图像
- 帧提取 使用OpenCV的视频文件开头只有几秒钟
- 如何使用OpenCV作为运动检测器(而不是寻找视频输出)
- Opencv cpp 使用多线程处理同一视频的不同部分
- OpenCV 检查计算机上是否安装了视频编解码器 (C++)
- Opencv 树莓派 3 视频播放 c++
- 使用opencv在受控环境中进行视频跟踪的跟踪标记和跟踪算法选择
- 使用 OpenCV C++ 每 1 分钟创建新的视频文件
- 使用 OpenCV 捕获 C++ 视频
- 从iPhone相机拍摄的视频似乎被OpenCV旋转了90度?我该如何解决这个问题?
- 我想在C++中用 openCV 拼接多个视频
- 使用 OpenCV 读取视频帧到指定的指针 (C++)
- 使用OpENCV中的两个视频仪捕获同一设备
- Opencv 保存视频
- OpenCV没有显示来自Macbook网络摄像头的视频