Esempio n. 1
0
void
on_btnOpen_clicked                     (GtkButton       *button,
                                        gpointer         user_data)
{
	gchar* filename;
	g_object_get(button,"text",&filename,NULL);
	
	GtkWidget* fileDialog = gtk_file_chooser_dialog_new ("Open File",
				      NULL,
				      GTK_FILE_CHOOSER_ACTION_OPEN,
				      GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
				      GTK_STOCK_OPEN, GTK_RESPONSE_ACCEPT,
				      NULL);
	
	gtk_file_chooser_set_filename((GtkFileChooser*)fileDialog,filename);
	
	if (gtk_dialog_run((GtkDialog*) fileDialog) == GTK_RESPONSE_ACCEPT) {
		filename = gtk_file_chooser_get_filename((GtkFileChooser*) fileDialog);
		g_object_set(button,"text",filename,NULL);
		set_status_text(filename);
		load_image_file(filename);
		g_free(filename);
	}
	gtk_widget_destroy(fileDialog);
}
Esempio n. 2
0
obj load_initial_heap( const char *path, rs_bool verbose )
{
char *gc_argv[3];
int vers;
obj r;

  gc_argv[0] = "rs";
  gc_argv[1] = verbose ? (char *)NULL : "-q";
  gc_argv[2] = NULL;
  init_gc( verbose ? 1 : 2, (const char **)gc_argv );
  
  /* make room for it... */
  
  gc_safe_point( 1024*1024 );
  r = load_image_file( path, FALSE_OBJ, FALSE_OBJ, &vers );

  if (EQ(r,FALSE_OBJ))
    return FALSE_OBJ;

  switch (vers)
    {
    case FMTV_RSCHEME_0_5:  /* assume it's bootable */
    case FMTV_RSCHEME_0_6_BOOT:
      return r;
    default:
      fprintf( stderr, "%s: image version %d -- not bootable\n",
	       path, vers );
      return FALSE_OBJ;
    }
}
Esempio n. 3
0
obj plain_load_boot( const char *path, rs_bool verboseq )
{
char *gc_argv[3];
int vers;
obj r;

  gc_argv[0] = "rs";
  gc_argv[1] = verboseq ? NULL : "-q";
  gc_argv[2] = NULL;
  init_gc( verboseq ? 1 : 2, (const char **)gc_argv );
  
  /* make room for it... */
  
  gc_safe_point( 1024*1024 );
  r = load_image_file( path, FALSE_OBJ, FALSE_OBJ, &vers );
  if (truish(r))
    {
      switch (vers)
	{
	case FMTV_RSCHEME_0_5:  /* assume it's bootable */
	case FMTV_RSCHEME_0_6_BOOT:
	  break;
	default:
	  fprintf( stderr, "%s: image version %d -- not bootable\n",
		   path, vers );
	  return FALSE_OBJ;
	}
    }
  return r;
}
int main(int argc, char* argv[])
{
  if (argc < 5) {
        std::cout << "Usage:" << std::endl;
	std::cout << "   " << argv[0] << " <input_file> <output_file> <number of runs> <number of threads>" << std::endl;
        return 0;
  }


  struct timeval start, end;
  int iter = atoi(argv[3]), i, j, k;
  int n_threads = atoi(argv[4]);
  double usec = 0;
  std::vector<std::thread> threads;

  load_image_file(argv[1]);       	/* Input of image1 */

  for(i = 0; i < iter; i++)
  {
      barrier1 = barrier2 = 0;  /* Init barriers on every iteration */
      gettimeofday(&start, NULL);
      /* Calculation of histogram */
      for (j = 0; j < GRAYLEVEL; j++) {
        histogram[j] = 0;
      }
      max_frequency = -1;
      for (j = 0; j < IMAGESIZE ; j++) {
        for (k = 0; k < IMAGESIZE; k++) {
          image2[j][k] = 0;
        }
      }

      for (j = 0; j < n_threads; j++) {
        threads.push_back(std::thread(make_histogram_image, j, n_threads));
      }

      for (j = 0; j < n_threads; j++) {
        threads[j].join();
      }

      gettimeofday(&end, NULL); 
      usec += end.tv_usec + 1000000*(end.tv_sec - start.tv_sec) - start.tv_usec;

      threads.clear();
  }

  save_image_file(argv[2]);       	/* Output of image2 */

  std::cout << "histogram takes: " << (double)usec / 1000000 << "sec    mean: " << (double)usec / 1000000 / iter <<"sec    image size: " << y_size1*x_size1 << std::endl;
  return 0;
}
Esempio n. 5
0
void
on_imageUri_activate                   (GtkEntry        *entry,
                                        gpointer         user_data)
{
	gchar* imgPath;
	g_object_get((GObject*)user_data,"text",&imgPath,NULL);
	if(imgPath != NULL) {
		int result;
		set_status_text(imgPath);
		if ( (result=load_image_file(imgPath))!= 0)
			result=load_image_http(imgPath);
		if (result!=0) 
			set_status_text("Can't load image.");
	}
	return;	
}
Esempio n. 6
0
int main(int argc, char* argv[])
{

  char *pgmInputFileName, *pgmOutputFileName;
  if(argc < 2 || argc > 3) {
      printf("Usage: %s InputFile.pgm <Output.pgm>\n", argv[0]);
      exit(1);
  }
  else if(argc == 2) {
    pgmInputFileName  = argv[1];
    pgmOutputFileName = "default_output.pgm";
  }
  else if(argc == 3) {
    pgmInputFileName  = argv[1];
    pgmOutputFileName = argv[2];
  }
  
  load_image_file( pgmInputFileName  );   /* Input of image1 */ 
  sobel_filtering( );                     /* Sobel filter is applied to image1 */
  save_image_file( pgmOutputFileName );   /* Output of image2 */
  printf("Output saved...OK\n");
  return 0;

}