Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/haskell/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 将opencv waitkey()与C++;_C++_Opencv - Fatal编程技术网

C++ 将opencv waitkey()与C++;

C++ 将opencv waitkey()与C++;,c++,opencv,C++,Opencv,我试图用计时器显示网络摄像头提要,但它无法平滑渲染。代码如下: int timer = 10; VideoCapture cap(0); Mat img; while (true) { cap.read(img); if (timer == 0) { cout << "TIME'S UP !!!" << endl; }

我试图用计时器显示网络摄像头提要,但它无法平滑渲染。代码如下:

    int timer = 10;
    VideoCapture cap(0);
    Mat img;

    while (true) {
        cap.read(img);
        
        if (timer == 0) {
            cout << "TIME'S UP !!!" << endl;
        }
        else if (timer <= 20) {
            imshow("Image", img);
            waitKey(1);
        }
        system("cls");
        cout << timer-- << " seconds left" << endl;
        Sleep(1000);

    }
}
int定时器=10;
视频捕获上限(0);
Mat-img;
while(true){
第二章(img);
如果(计时器==0){
cout您可能想使用,继续调用
cv::imshow()
+
cv::waitKey
10秒并结束循环

#include <chrono>
#include <iostream>

#include <opencv2/opencv.hpp>

namespace ch = std::chrono;
using namespace std::literals;

int main()
{
    cv::VideoCapture cap(0);
    cv::Mat img;

    auto t0 = ch::system_clock::now();
    for (decltype(t0)::duration elapsed; elapsed < 10s; elapsed = ch::system_clock::now() - t0)  
    {
        if (cap >> img) {
            imshow("Image", img);
        }
        waitKey(1);
    }

    std::cout << "TIME'S UP !!!" << std::endl;
}
#包括
#包括
#包括
名称空间ch=std::chrono;
使用名称空间std::literals;
int main()
{
cv::视频捕获上限(0);
cv::Mat img;
自动t0=ch::系统时钟::现在();
对于(decltype(t0)::经过的持续时间;经过的时间<10s;经过的时间=ch::system_clock::now()-t0)
{
如果(cap>>img){
imshow(“图像”,img);
}
等待键(1);
}

std::所以我可以保留
Sleep()
或者删除它吗?不,你不需要它。但是如果你需要,试着使用
std::this_thread::Sleep_for(1s)
for(decltype(t0)::持续时间过去了;过去了<25s;过去了=系统时钟::now()-t0){while(true){cap.read(img);if(timer)你为什么保留
while(true)
?或者旧的
timer
变量?或者sleep call?你不需要这些。只需要编译/运行我给你的代码;如果它不起作用,请告诉我们原因。如果它起作用,请根据你的需要调整它。