INCLUDEPATH += C:\opencv_2_4_2\include#это для красоты, чтоб в релизе оставлять только, что нужно релиз проекту... CONFIG(release,debug|release){ LIBS += C:\opencv_2_4_2\bin\*.dll}CONFIG(debug,debug|release){ LIBS += C:\opencv_2_4_2\bin\*.dll}
C++ (Qt)#include "opencv2/core/core.hpp"#include "opencv2/imgproc/imgproc.hpp"#include "opencv2/video/background_segm.hpp"#include "opencv2/highgui/highgui.hpp"#include <stdio.h> using namespace std;using namespace cv; static void help(){ printf("\nDo background segmentation, especially demonstrating the use of cvUpdateBGStatModel().\n""Learns the background at the start and then segments.\n""Learning is togged by the space key. Will read from file or camera\n""Usage: \n"" ./bgfg_segm [--camera]=<use camera, if this key is present>, [--file_name]=<path to movie file> \n\n");} const char* keys = { "{c |camera |true | use camera or not}" "{fn|file_name|tree.avi | movie file }"}; //this is a sample for foreground detection functionsint main(int argc, const char** argv){ help(); CommandLineParser parser(argc, argv, keys); bool useCamera = parser.get<bool>("camera"); string file = parser.get<string>("file_name"); VideoCapture cap; bool update_bg_model = true; if( useCamera ) cap.open(0); else cap.open(file.c_str()); parser.printParams(); if( !cap.isOpened() ) { printf("can not open camera or video file\n"); return -1; } namedWindow("image", CV_WINDOW_NORMAL); namedWindow("foreground mask", CV_WINDOW_NORMAL); namedWindow("foreground image", CV_WINDOW_NORMAL); namedWindow("mean background image", CV_WINDOW_NORMAL); BackgroundSubtractorMOG2 bg_model;//(100, 3, 0.3, 5); Mat img, fgmask, fgimg; for(;;) { cap >> img; if( img.empty() ) break; //cvtColor(_img, img, COLOR_BGR2GRAY); if( fgimg.empty() ) fgimg.create(img.size(), img.type()); //update the model bg_model(img, fgmask, update_bg_model ? -1 : 0); fgimg = Scalar::all(0); img.copyTo(fgimg, fgmask); Mat bgimg; bg_model.getBackgroundImage(bgimg); imshow("image", img); imshow("foreground mask", fgmask); imshow("foreground image", fgimg); if(!bgimg.empty()) imshow("mean background image", bgimg ); char k = (char)waitKey(30); if( k == 27 ) break; if( k == ' ' ) { update_bg_model = !update_bg_model; if(update_bg_model) printf("Background update is on\n"); else printf("Background update is off\n"); } } return 0;}
QT += coreQT -= guiTARGET = cv_testCONFIG += consoleCONFIG -= app_bundleTEMPLATE = appINCLUDEPATH += C:\opencv_2_4_2\includeCONFIG(release, debug|release) { LIBS += C:\opencv_2_4_2\bin\*.dll}CONFIG(debug,debug|release) { LIBS += C:\opencv_2_4_2\bin\*.dll}SOURCES += main.cpp