diff --git a/example_linux/CMakeLists.txt b/example_linux/CMakeLists.txt new file mode 100644 index 0000000000000000000000000000000000000000..9317e55f501298c9035145675a6f84a5e22366ff --- /dev/null +++ b/example_linux/CMakeLists.txt @@ -0,0 +1,23 @@ +cmake_minimum_required(VERSION 2.8) + +project(FrameDifferenceTest) + +set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=gnu++0x") +set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=c99") + +find_package(OpenCV REQUIRED) + +file(GLOB source FrameDifferenceTest.cpp) + +file(GLOB_RECURSE bgs_src ../package_bgs/*.cpp ../package_bgs/*.c) +file(GLOB_RECURSE bgs_include ../package_bgs/*.h) + +include_directories(${CMAKE_SOURCE_DIR}) + +add_library(bgs SHARED ${bgs_src}) +target_link_libraries(bgs ${OpenCV_LIBS}) +set_property(TARGET bgs PROPERTY PUBLIC_HEADER ${bgs_include}) + +add_executable(FrameDifferenceTest ${source}) +target_link_libraries(FrameDifferenceTest ${OpenCV_LIBS} bgs) + diff --git a/example_linux/FrameDifferenceTest.cpp b/example_linux/FrameDifferenceTest.cpp new file mode 100644 index 0000000000000000000000000000000000000000..560ecf0c8321df220316d83e752def12a5c11e36 --- /dev/null +++ b/example_linux/FrameDifferenceTest.cpp @@ -0,0 +1,49 @@ +#include <iostream> +#include <cv.h> +#include <highgui.h> + +#include "package_bgs/FrameDifferenceBGS.h" + +int main(int argc, char **argv) +{ + CvCapture *capture = 0; + capture = cvCaptureFromCAM(0); + + if(!capture){ + std::cerr << "Cannot initialize video!" << std::endl; + return -1; + } + + IBGS *bgs; + bgs = new FrameDifferenceBGS; + + IplImage *frame; + while(1) + { + frame = cvQueryFrame(capture); + if(!frame) break; + + cv::Mat img_input(frame); + cv::imshow("Input", img_input); + + cv::Mat img_mask; + cv::Mat img_bkgmodel; + + // by default, it shows automatically the foreground mask image + bgs->process(img_input, img_mask, img_bkgmodel); + + //if(!img_mask.empty()) + // cv::imshow("Foreground", img_mask); + // do something + + if(cvWaitKey(33) >= 0) + break; + } + + delete bgs; + + cvDestroyAllWindows(); + cvReleaseCapture(&capture); + + return 0; +} diff --git a/example_linux/README.txt b/example_linux/README.txt new file mode 100644 index 0000000000000000000000000000000000000000..5558b71484046423834c91f24e75c4bd36d5bcd6 --- /dev/null +++ b/example_linux/README.txt @@ -0,0 +1,9 @@ +# +# HOW TO COMPILE ON LINUX +# +# Requirements: +# cmake >= 2.8 +# opencv >= 2.3.1 + +cmake . +make diff --git a/example_linux/config/KEEP_THIS_FOLDER b/example_linux/config/KEEP_THIS_FOLDER new file mode 100644 index 0000000000000000000000000000000000000000..24353bcb3c57d58895a3c2500232445466fabd6b --- /dev/null +++ b/example_linux/config/KEEP_THIS_FOLDER @@ -0,0 +1 @@ +bgslibrary uses this folder to store the configuration files \ No newline at end of file