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); }
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; } }
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; }
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; }
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; }