void Translation::run(vector<string> pArgParam,string input, string output){ unused(pArgParam); ImagePNG* img = new ImagePNG(); img->load(input); double start = Data::get_time(); cout << &img << endl; translation(img,atoi(pArgParam[0].c_str()),atoi(pArgParam[1].c_str()), new Color(0,0,0,255)); if (Data::CHRONO) cout << description<<" effectue en " << 1000*(Data::get_time() - start)<<" ms"<<endl; img->save(output); }
void Difference::run(vector<string> pArgParam,string input, string output){ unused(pArgParam); ImagePNG* img = new ImagePNG(); img->load(input); ImagePNG* img2 = new ImagePNG(); img2->load(pArgParam[0]); double start = Data::get_time(); difference(img, img2); if (Data::CHRONO) cout << description<<" effectue en " << 1000*(Data::get_time() - start)<<" ms"<<endl; img->save(output); }
int main(int argc,char** argv) { (void) argc; string nom_image; nom_image=argv[1];//nom de l'image (adresse) string numero,numero2; numero=argv[2];//premiere ou seconde image a comparer (pour sauvegarder le ratio) numero2=argv[3];//le type de filtre voulu ImagePNG img; img.load(nom_image); float largeur; float hauteur; largeur=max_largeur(img)-min_largeur(img); hauteur=max_hauteur(img)-min_hauteur(img); unsigned minl,minh,maxl,maxh; minl=min_largeur(img); minh=min_hauteur(img); maxl=max_largeur(img); maxh=max_hauteur(img); //niveau_de_gris(img); binarise(img,numero); img.load("binarise"+numero+".png"); if (numero2=="1") { filtre_median(img,numero); img.load("filtre_median"+numero+".png"); } if (numero2=="2") { filtre(img,numero); img.load("filtre"+numero+".png"); } squelette(img,numero); img.load("squelette"+numero+".png"); bifurcation(img,numero); img.load("bifurcation"+numero+".png"); verif_minutie(img,numero); img.load("bifurcation2"+numero+".png"); ecriture(img,largeur,hauteur,minh,minl,maxl,maxh,numero);//2=bb return 0; }