カムからフレームの実行中の平均を取得しようとしていますが、数秒後に平均化されたフレームの画像がどんどん明るくなり、白よりも明るくなります。
私のカムは、3 チャンネルのグレースケールの画像を提供します。私はWindows 7、Visualstudio 2012、opencv 243を使用しています
#include<opencv2\opencv.hpp>
#include<opencv2\core\core.hpp>
#include<opencv2\highgui\highgui.hpp>
#include <iostream>
using namespace cv;
using namespace std;
int main(int argc, char* argv[])
{
VideoCapture cap(0);
Mat frame1;
cap.read(frame1);
Mat acc = Mat::zeros(frame1.size(), CV_32FC1);
while(1){
Mat frame;
Mat gray;
cap.read(frame);
cvtColor(frame ,gray ,CV_BGR2GRAY,0);
accumulateWeighted(gray, acc,0.005);
imshow("gray", gray);
imshow("acc", acc);
waitKey(1); //don't know why I need it but without it the windows freezes
}
}
誰が私が間違ったことを教えてもらえますか? ありがとう!