int main(int argc, char *argv[]){ Permutacion perm; Imagen img; if(argc==4 || argc==5){ if(argc==4){ if(perm.Leer_Permuta(argv[2])){ if(img.LeerImagen(argv[1])){ if(perm.Get_n() == img.Filas()){ for(int i=0; i<img.Filas(); i++) img.Asignar_A_Fila(i,perm.Get_Elem(i)); if(img.EscribirImagen(argv[3])) cout << "\n Imagen guardada correctamente." << endl; else cout << "\n ERROR: No se pudo guardar la imagen en disco." << endl; }else cout << "\n ERROR: El nº de líneas de la imagen no coincide con el del fichero de permutaciones." << endl; }else cout << "\n ERROR: No se pudo leer la imagen desde disco." << endl; }else cout << "\n ERROR: No se pudo leer la permutación desde disco." << endl; } if(argc==5){ if(strcmp(argv[1],"-d")==0){ if(perm.Leer_Permuta(argv[3])){ if(img.LeerImagen(argv[2])){ if(perm.Get_n() == img.Filas()){ for(int i=0; i<img.Filas(); i++) img.Asignar_A_Fila(perm.Get_Elem(i),i); if(img.EscribirImagen(argv[4])) cout << "\n Imagen guardada correctamente." << endl; else cout << "\n ERROR: No se pudo guardar la imagen en disco." << endl; }else cout << "\n ERROR: El nº de líneas de la imagen no coincide con el del fichero de permutaciones." << endl; }else cout << "\n ERROR: No se pudo leer la imagen desde disco." << endl; }else cout << "\n ERROR: No se pudo leer la permutación desde disco." << endl; }else cout << "\n ERROR: No se detectó el parámetro -d." << endl; } }else{ cout << "\n ERROR. Número de parámetros incorrecto." << endl; cout << " USO:" << endl; cout << " Aplicar permutación: " << argv[0] << " [imagen.pgm] [permutacion.per] [imagen_permutada.pgm]" << endl; cout << " Deshacer permutación: " << argv[0] << " -d [imagen_permutada.pgm] [permutacion.per] [imagen.pgm]" << endl; } return 0; }
int main(int argc, char * argv[]) { if(argc != 2) { cout << "Error en el número de argumentos." << endl; cout << "Forma de ejecución: " << endl; cout << "revelar salida.pgm > resultado.txt" << endl; } else { TipoImagen imag; int filas, columnas, Tamimagen; bool resultado,lectura; char cad[1000000/8]; imag = LeerTipoImagen(argv[1],filas,columnas); Imagen img; if(imag == IMG_PGM) { lectura = img.LeerImagen(argv[1]); Tamimagen = filas*columnas; resultado = Revelar(img.Getvector(), cad, Tamimagen); cout << cad << endl; } else { cout << "Error en el formato de la imagen, tiene que ser PGM" << endl; } } }
int main(int argc,const char * argv[]) { if(argc != 3) { cout << "Error en el número de argumentos" << endl; cout << "Forma de ejecución: " << endl; cout << "ocultar lenna.pgm salida.pgm < mensaje.txt" << endl; } else { TipoImagen imag; int filas, columnas, Tamimagen; bool resultado,lectura; imag = LeerTipoImagen(argv[1],filas,columnas); Imagen img; char c; if(imag == IMG_PGM) { img.LeerImagen(argv[1]); const int MAXMSG = (img.Filas()*img.Columnas()) / 8; char cad[MAXMSG]; unsigned char vec_aux[img.Filas()*img.Columnas()]; for(int i = 0; i < MAXMSG && cin.get(c);i++) { cad[i] = c; } Tamimagen = img.Filas()*img.Columnas(); for(int i=0; i<img.Filas(); i++){ for (int j=0; j<img.Columnas(); j++){ vec_aux[i*img.Columnas()+j] = img.Get(i,j); } } resultado = Ocultar(vec_aux,cad,Tamimagen); for(int i=0; i<img.Filas(); i++){ for (int j=0; j<img.Columnas(); j++){ img.Set(i,j, vec_aux[i*img.Columnas()+j]); } } resultado = img.EscribirImagen(argv[2]); if(resultado == true) { cout << "La frase ha sido ocultada " << endl; } else { cout << "La imagen no ha sido ocultada" << endl; } } else { cout << "El formato de la imagen es el incorrecto, debe ser PGM" << endl; } } }
int main(int argc, char * argv[]){ if (argc!=4){ cout<<"Los parametros son :"<<endl; cout<<"1.-La imagen de entrada"<<endl; cout<<"2.-El angulo de rotación (en grados)"<<endl; cout<<"3.-El nombre de la imagen de salida"<<endl; return 0; } Imagen I; I.LeerImagen(argv[1]); double angulo=atof(argv[2]); angulo = angulo*(M_PI)/180; //Pasamos el angulo radianes //Imagen Iout=Rota(I,angulo); //Iout.EscribirImagen(argv[3]); }