int SplitMPO_main(int argc,char ** argv)
{
     std::string aFullName;
     std::string aPostR = "_R";
     std::string aPostL = "_L";
     bool DoTifGray = false;


     ElInitArgMain
     (
           argc,argv,
           LArgMain() << EAMC(aFullName,"Full name (Dir+Pat)", eSAM_IsPatFile) ,
           LArgMain() << EAM(aPostR,"Right",true,"Right extension, def=_R")
                  << EAM(aPostL,"Left",true,"Left extension, def=_L")
                  << EAM(DoTifGray,"TG",true,"Tiff gray, def=false")
    );

    std::string aDir,aPat;
    SplitDirAndFile(aDir,aPat,aFullName);

    cInterfChantierNameManipulateur * aICNM = cInterfChantierNameManipulateur::BasicAlloc(aDir);
    const std::vector<std::string> * aSetIm = aICNM->Get(aPat);



    for (int aKIm=0 ; aKIm<int(aSetIm->size()) ; aKIm++)
    {
        std::string aNameIn = (*aSetIm)[aKIm];
        for (int aK=0 ; aK<2 ; aK++)
        {
            std::string aPref = StdPrefix(aNameIn);
            std::string aPost = StdPostfix(aNameIn);
            std::string aNameOut = aPref+((aK==0)? aPostL : aPostR) + ".jpg";

            std::string aCom = "exiftool ";
             if (aK==0)
                aCom = aCom + "-trailer:all= " + aNameIn  + " -o " + aNameOut;
             else
               aCom = aCom+ aNameIn + " -mpimage2 -b> " + aNameOut;

             std::cout << aCom << "\n";
             VoidSystem(aCom.c_str());
             if (DoTifGray)
             {
                aCom =    "convert "
                       +  aNameOut
                       +  " -compress None -depth 8  -colorspace Gray "
                       +  StdPrefix(aNameOut) + "_Gray.tif";
                std::cout << aCom << "\n";
                VoidSystem(aCom.c_str());
             }
        }
    }

    return 1;
}
Example #2
0
bool code_file(const char * name,bool coder,std::string * ResNewName=0)
{
    std::string aStrName(name);
    bool dcdpost = false;

    string NewName (name);

    if (IsPostfixed(name)) 
    {
        dcdpost = (StdPostfix(name)=="dcd");
    }
    else
    {
    }

    if (coder == dcdpost)
       return false;


    if (coder)
        NewName = name + string(".dcd");
    else
        NewName = StdPrefix(name); 

    if (ResNewName) * ResNewName = NewName;

    std::string aSauv = DirOfFile(aStrName) + "Dup_" + NameWithoutDir(aStrName) + ".dup";
    std::string aCp = "cp " + aStrName  + " " + aSauv;
    VoidSystem(aCp.c_str());



    string MV = string(SYS_MV)+ " \"" + name + string("\" \"") + NewName +string("\"");

    INT NbOctet = sizeofile(name);
    Elise_File_Im  F(name, Pt2di(NbOctet,1),GenIm::u_int1);
	Im1D_U_INT1 majic = ImMajic();
    ELISE_COPY
    (
           F.all_pts(),
           F.in()^majic.in()[FX%majic.tx()],
           F.out()
    );

    // cout << MV.c_str() << "\n";
    VoidSystem(MV.c_str());
    ELISE_fp::RmFile(aSauv);

    return true;
}
Example #3
0
Im1D_INT4  hongrois(Im2D_INT4 cost)
{
    ELISE_ASSERT(false,"Obsolete hongrois use ALGOHONGR");
    INT nb = ElMin(cost.tx(),cost.ty());

    {
        ELISE_fp fp("commande/HONGR/fich_inp",ELISE_fp::WRITE);
        fp.write_INT4(nb);
        INT ** c = cost.data();

        for (INT l =0; l<nb ; l++)
            fp.write(c[l],sizeof(c[0][0]),nb);

        fp.close();
    }

    VoidSystem("commande/HONGR/hongr");


    Im1D_INT4 res(nb);
    {
        INT * r = res.data();
        ELISE_fp fp("commande/HONGR/resultat",ELISE_fp::READ);
        fp.read(r,sizeof(r[0]),nb);
        fp.close();

        for (INT k=0; k<nb; k++)
            r[k]--;
    }

    return res;
}
Example #4
0
void Sys(const std::string & aStr)
{
   VoidSystem(aStr.c_str());
}