Example #1
0
/* On filtre l'image sans la redimensionner */
void Fenetre::Filtrage()
{
  float angle;

  if (BBox->isChecked())
    {
      PictModif = filtrer_grayscale(Picture);
      PictModif = filtrer_seuillage(PictModif,155);
      angle = rotation_calcul_angle(PictModif);
      
      if (angle != 0.0)   
	PictModif = filtrer_rotation(PictModif, angle);
      
      PictModif = filtrer_median(PictModif, NBelt_listd,155);
      qualite_image = 1;
    }
  else
    {
      PictModif = filtrer_grayscale(Picture);
      PictModif = filtrer_seuillage(PictModif,200);
      qualite_image = 0;
    }
  Image2Apercu(&PictModif);

  BBut->show(); // on propose de sauvegarder
  BBut->resize(90, 40);
  BBut->move(440, 400);
  BBut->setText("Sauver");
  connect(BBut, SIGNAL(clicked()), this, SLOT(Sauvegarde()));
}
Example #2
0
int main(int argc,char *argv[])
{
	int k,L,H,i,**Pile,**Largeur,**Occ_largeur,*p,*V,opt;
	char a='%',option[3];
	if(argc<2)
	{
		fprintf(stderr,"\nUsage: ./main k [-s]\n");
		return 1;
	}
	else
	{
		
		scanf("%d %d %d",&lc,&hc,&n);
		lire(n);
		k=atoi(argv[1]);
		prof=0;
		Meilleur=malloc(sizeof(struct CONTENEUR));
		Meilleur->contenu=malloc(n*sizeof(LISTE));
		for(i=0;i<n;i++)
		{
			Meilleur->contenu[i]=malloc(sizeof(struct OBJET));
			Meilleur->contenu[i]->nom=malloc(100*sizeof(char));
		}
		Meilleur->Free=malloc(n*sizeof(int));
		Meilleur->num_Bande=malloc(n*sizeof(int));
		Meilleur->rang=malloc(n*sizeof(int));
		Meilleur->coord=malloc(n*sizeof(coordonnee));
		for(i=0;i<n;i++)
			Meilleur->coord[i]=malloc(sizeof(struct COORDONNEE));
		
		Meilleur->surface = 0;
		L=lc;
		H=hc;
		
		LARG=max_dimension();
		Occ_largeur=calloc(n,sizeof(int*));
		for(i=0;i<n;i++)
			Occ_largeur[i]=calloc(k,sizeof(int));
		Largeur=calloc(n,sizeof(int*));
		for(i=0;i<n;i++)
			Largeur[i]=calloc(k,sizeof(int));
		NoFree=calloc(n,sizeof(int));
		num_Bande=calloc(n,sizeof(int));
		rang=calloc(n,sizeof(int));
		
		coord=malloc(n*sizeof(coordonnee));
		for(i=0;i<n;i++)
			coord[i]=malloc(sizeof(struct COORDONNEE));
		
		/* tableaux pour le sac à dos */
		p=malloc( (n+2)*(sizeof(int)) );
		V=malloc( (n+2)*(sizeof(int)) );
		Matrice_Sac=malloc( (n+1)*(sizeof(int*)) ) ;
		for(i=0;i<n+1;i++)
			Matrice_Sac[i]=malloc( (hc+1)*(sizeof(int)) );
		if(argc==3)
		{
			strcpy (option, argv[2]);
			if(strcmp (option,"-s")==0)
			{
				opt=1;
			}
		}
		else opt=0;
		if(opt==1)
		{
			fprintf(stdout,"\n*****REMPLISSAGE PAR L'ALGORITHME DE SAC A DOS******\n");
			remplir_conteneur(L,H,k,Largeur,Occ_largeur,p,V,0);
		}
		else
		{
			fprintf(stdout,"\n*****REMPLISSAGE PAR LA METHODE GLOUTON******\n");
			remplir_conteneur(L,H,k,Largeur,Occ_largeur,p,V,1);
		}
			
		Pile=malloc(n*sizeof(int *));
		for(i=0;i<n;i++)
			Pile[i]=malloc(sizeof(int));
		Pile=Sauvegarde(Meilleur->Free,Meilleur->num_Bande,Meilleur->rang);
		printf("\n");
		affichageSolution(Pile,Meilleur->contenu,Meilleur->Free,Meilleur->num_Bande,Meilleur->rang,Meilleur->coord);
		
		printf("\n remplissage à :%.2f%c\n",(double)100*Meilleur->surface/(hc*lc),a);
		
	}
	return 0;
}