Skip to content
Snippets Groups Projects
Select Git revision
  • 04f247582f635e492ffccf1ed67c9041e49eef06
  • master default protected
2 results

02_Compile_dataset.Rmd

Blame
  • Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    Demo2.cpp 3.13 KiB
    /*
    ./bgs_demo -i test45/ -a 100 -o test45/results/
    based  on original demo.cpp
    */
    
    // c
    #include <sys/types.h>
    #include <sys/stat.h>
    #include <archive.h>
    #include <archive_entry.h>
    #include <fcntl.h>
    #include <string.h>
    #include <unistd.h>
    
    //cpp c
    #include <iostream>
    #include <algorithm>
    #include <cstdlib>
    #include <stdio.h>      /* printf, scanf, puts, NULL */
    #include <stdlib.h>     /* srand, rand */
    #include <time.h>       /* time */
    #include <ctime>
    
    #define PROCESS_CENTER_VERSION_MAJOR 0
    #define PROCESS_CENTER_VERSION_MINOR 2
    
    //opencv
    #include <opencv2/opencv.hpp>
    //bgslibrary
    #include "package_bgs/bgslibrary.h"
    //my class
    #include "package_bgs/Tapter.h"
    #include "package_bgs/ttoolbox.h"
    
    using namespace cv;
    using namespace std;
    
    char* getCmdOption(char ** begin, char ** end, const std::string & option)
    {
        char ** itr = std::find(begin, end, option);
        if (itr != end && ++itr != end)
        {
            return *itr;
        }
        return 0;
    }
    
    bool cmdOptionExists(char** begin, char** end, const std::string& option)
    {
        return std::find(begin, end, option) != end;
    }
    
    
    int main(int argc, char * argv[])
    {
        std::cout << "using produce bk  " <<PROCESS_CENTER_VERSION_MAJOR <<"."<< PROCESS_CENTER_VERSION_MINOR << endl;
        std::cout << "Using OpenCV " << CV_MAJOR_VERSION << "." << CV_MINOR_VERSION << "." << CV_SUBMINOR_VERSION << std::endl;
        //!** parse programm input****************/
        if(cmdOptionExists(argv, argv+argc, "-h"))
        {
            cout <<" error: please use command as\n./bgs_demo -i pathToInputDir -a amountOfJpgFiles -c exactCenterConfFile.xml -o outPutPath"<<endl;
            return  EXIT_FAILURE;
        }
        if(!cmdOptionExists(argv, argv+argc, "-i")||!cmdOptionExists(argv, argv+argc, "-a")||!cmdOptionExists(argv, argv+argc, "-o") )
        {
            cout <<" error: please use command as\n./bgs_demo -i pathToInputDir -a amountOfJpgFiles -c exactCenterConfFile.xml -o outPutPath"<<endl;
            return  EXIT_FAILURE;
        }
    
        char *testInputDir = getCmdOption(argv, argv + argc, "-i");
        string inputDir(".");
        if (testInputDir)
        {
            //test dir exists
            inputDir = string(testInputDir);
        }
        int amountFiles = -1;
        char *testFileAmount = getCmdOption(argv, argv + argc, "-a");
        if (testFileAmount)
        {
            string s(testFileAmount);
            stringstream foo(s);
            foo >> amountFiles;
        }
    
    
        char *centerFile = getCmdOption(argv, argv + argc, "-c");
        string centerFileString(".");
        if (centerFile)
        {
            //test dir exists
            centerFileString = string(centerFile);
        }
    
        char *testOutputDir = getCmdOption(argv, argv + argc, "-o");
        string outputDir(".");
        if (testOutputDir)
        {
            //test dir exists
            outputDir = string(testOutputDir);
        }
    
        struct archive *a;
        struct archive *ext;
        struct archive_entry *entry;
        int r;
        int flags = ARCHIVE_EXTRACT_TIME; // see https://linux.die.net/man/3/archive_write_disk for more flags
        const char *filename = "recTest.tar";
    
        a = archive_read_new();
        ext = archive_write_disk_new();
        archive_write_disk_set_options(ext, flags);
    
        //    capture.release();
        cvDestroyAllWindows();
    
        return 0;
    }