diff options
Diffstat (limited to 'cvg.c')
-rw-r--r-- | cvg.c | 25 |
1 files changed, 19 insertions, 6 deletions
@@ -238,18 +238,29 @@ file_set(GtkFileChooserButton *widget, gpointer userdata) } static IplImage * -gauss_filter(struct cvg *cvg, IplImage *image) +pass_through_filter(struct cvg *cvg, IplImage *image) { IplImage *output; output = cvCreateImage(cvGetSize(image), IPL_DEPTH_8U, 3); + cvCopy(image, output, NULL); + + return output; +} + +static IplImage * +gauss_filter(struct cvg *cvg, IplImage *image) +{ + IplImage *output; + + output = cvCreateImage(cvGetSize(image), IPL_DEPTH_8U, 3); cvSmooth(image, output, CV_GAUSSIAN, 9, 9, 0, 0); return output; } static IplImage * -none_filter(struct cvg *cvg, IplImage *image) +hide_filter(struct cvg *cvg, IplImage *image) { return NULL; } @@ -280,8 +291,10 @@ method_set(GtkComboBox *widget, gpointer userdata) return; if (strcmp(text, "Gauss") == 0) cvg->filter = gauss_filter; - else if (strcmp(text, "None") == 0) - cvg->filter = none_filter; + else if (strcmp(text, "Pass-Through") == 0) + cvg->filter = pass_through_filter; + else if (strcmp(text, "Hide") == 0) + cvg->filter = hide_filter; update_right_drawing_area(cvg); } @@ -291,7 +304,7 @@ main(int argc, char *argv[]) struct cvg cvg; GtkBuilder *builder; GObject *file_chooser; - GObject *comboxbox; + GObject *combobox; gchar *path, *file; int index = 0; @@ -340,7 +353,7 @@ main(int argc, char *argv[]) gtk_combo_box_set_active(GTK_COMBO_BOX(combobox), 0); cvg.idle_source = g_idle_add(capture, &cvg); - cvg.filter = none_filter; + cvg.filter = hide_filter; gtk_widget_show_all(GTK_WIDGET(gtk_builder_get_object(builder, "win"))); g_object_unref(builder); gtk_main(); |