私はOpenCV243を使ってプロジェクトを進めていますが、ストリーム中にフォアグラウンドを取得する必要があります。問題は私がcv :: absdiffを使って取得することです。私のコードとその結果。OpencVの背景と前景
#include <iostream>
#include<opencv2\opencv.hpp>
#include<opencv2\calib3d\calib3d.hpp>
#include<opencv2\core\core.hpp>
#include <opencv2\highgui\highgui.hpp>
int main(){
cv::VideoCapture cap(0);
cv::Mat frame,frame1,frame2;
cap >> frame;
frame.copyTo(frame1);
cv::imwrite("background.jpeg",frame1);
int key = 0;
while(key!=27){
cap >> frame;
cv::absdiff(frame, frame1, frame2); // frame2 = frame -frame1
cv::imshow("foreground", frame2);
if(key=='c'){
//frame.copyTo(frame2);
cv::imwrite("foreground.jpeg", frame2);
key = 0;
}
cv::imshow("frame",frame);
key = cv::waitKey(10);
}
cap.release();
return 0;
}
あなたは減算作品を見ることができるとしてではなく[130130130]と同じピクセルと背景のピクセルを持っている場合、私が取得したいことはそれだけでの値は、例えば変更されましたhttp://mateuszstankiewicz.eu/?p=189が が、私はコードを理解することはできませんし、私が持っている:私はまさに最後の値を取得したいとしませ[70,70,70] 私はすでにこのチュートリアルを見てきたフレームで[200200200]を持っていますcv :: BackgroundSubtractorMOG2の設定に関する問題私のOpenCVのバージョンで事前に
おかげで、あなたは、OpenCVのとサンプルが(CPPディレクトリ\試料中の)2つの素敵なC++の例を持って