gpt4 book ai didi

c++ - imshow 不工作

转载 作者:行者123 更新时间:2023-11-28 02:26:00 27 4
gpt4 key购买 nike

我使用 for 循环读取 300 帧并累积它们。我在内部给出了一个 imshow 命令来连续打印帧,但是在 for 循环处理期间它们没有被打印,而是作为单个图像出现

这是我的代码:

enter code here

#include<iostream>
#include "opencv2/highgui/highgui.hpp"
#include "opencv2/imgproc/imgproc.hpp"
#include<stdlib.h>
#include<stdio.h>
using namespace cv;
using namespace std;
int main()
{
char k;
int learningframes=300;
VideoCapture cap(0);
if(cap.isOpened()==0)
{
cout<<"ERROR";
return -1;
}

//while(1)
//{
Mat frame;
cap>>frame;
Mat frameaccF,frameacc,framethr32,framehsv,framethr;
frameaccF=Mat::zeros(frame.size(),CV_32FC1);
for(int i=0;i<=learningframes;i++)
{
cap>>frame;
imshow("nn",frame);
cvtColor(frame,framehsv,CV_BGR2HSV);

inRange(framehsv,Scalar(0,30,0),Scalar(50,150,255),framethr);

framethr.convertTo(framethr,CV_32F);



accumulate(framethr,frameaccF);
}
frameaccF=frameaccF/300;
frameaccF.convertTo(frameaccF,CV_8U);
imshow("frame",frame);
imshow("frameacc",frameaccF);

waitKey(0);
//if(k=='q')
//break;
//}

return 0;
}

最佳答案

你需要将waiKey()放在for循环中

for(int i=0;i<=learningframes;i++)
{
cap>>frame;
imshow("nn",frame);
cvtColor(frame,framehsv,CV_BGR2HSV);

inRange(framehsv,Scalar(0,30,0),Scalar(50,150,255),framethr);

framethr.convertTo(framethr,CV_32F);



accumulate(framethr,frameaccF);

waitKey(0);
}

关于c++ - imshow 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30647195/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com