以下是示例代码。
cv::VideoCapture capturedVideo;
capturedVideo.open(videoFile);
if (!capturedVideo.isOpened())
{
std::cerr << "Unable to open video: " << videoFile << std::endl;
return -1;
}
cv::Mat dispFrame;
cv::namedWindow("Video Edit", cv::WINDOW_AUTOSIZE);
while (true)
{
capturedVideo >> dispFrame;
if (!dispFrame.empty())
imshow("Video Edit", dispFrame);
if (cv::waitKey(30) >= 0) // wait for key press event
{
puts("Key press");
break;
}
}
然而,代码永远不会流向“按键”。我打印了cv::waitKey
的返回值,它应该是按下的键的ascii代码。它始终是正确的。这里发生了什么?