У меня есть приложение, которое захватывает кадр с камеры, а затем показывает картинку в виде imshow () следующим образом:
VideoCapture cap(0);
if (!cap.isOpened()) // if not success, exit program
{
cout << "Cannot open the web cam" << endl;
system("pause");
return -1;
}
while (true) {
bool bSuccess = cap.read(imgOriginal); // read a new frame from video
if (!bSuccess) //if not success, break loop
{
cout << "Cannot read a frame from video stream" << endl;
break;
}
cv::imshow("Image", imgOriginal);
if (waitKey(10) == 27)
{
break;
return 1;
}
}
И программа работает хорошо.Но когда я удаляю цикл wait_key и вместо этого даю какой-то другой дескриптор (например, переменную, которая может описывать, если цикл while исправен или даже если, но вместо этого вместо wait_key (10) == 27 я поставил checkVariable == false), все идет не так, как надо,Я получаю серое изображение вместо обычного изображения.Можете ли вы объяснить мне, почему?