#include <cv.h>
#include <highgui.h>
#include <stdio.h>
+#include <dbus/dbus.h>
+#include <dbus/dbus-glib.h>
+
+DBusGConnection *connection;
+GError *error;
+DBusGProxy *proxy;
+char **name_list;
+char **name_list_ptr;
+
// argument for cvFlip(src, dest, FLIP_TYPE)
#define VERTICAL_FLIP 1
faces = cvHaarDetectObjects(small_image, cascade, storage, 1.2, 2,
CV_HAAR_DO_CANNY_PRUNING);
+#if 0
+ if ( 0 < faces->total &&
+ !dbus_g_proxy_call (proxy, "SimulateUserActivity", &error, G_TYPE_INVALID,
+ G_TYPE_STRV, &name_list, G_TYPE_INVALID))
+ {
+ fprintf(stderr, "bananas");
+
+ /* Just do demonstrate remote exceptions versus regular GError */
+ if (error->domain == DBUS_GERROR &&
+ error->code == DBUS_GERROR_REMOTE_EXCEPTION)
+ g_printerr ("Caught remote method exception %s: %s",
+ dbus_g_error_get_name (error),
+ error->message);
+ else
+ g_printerr ("Error: %s\n", error->message);
+ g_error_free (error);
+ exit (1);
+ }
+ else
+ {
+ fprintf(stderr, "peaches");
+ }
+#endif
+
/* draw all the rectangles */
for(i = 0; i < faces->total; i++)
{
// A Simple Camera Capture Framework.
int main(int argc, char** argv)
{
+ g_type_init ();
+
+ error = NULL;
+ connection = dbus_g_bus_get (DBUS_BUS_SESSION,
+ &error);
+ if (connection == NULL)
+ {
+ g_printerr ("Failed to open connection to bus: %s\n",
+ error->message);
+ g_error_free (error);
+ exit (1);
+ }
+
+ /* Create a proxy object for the "bus driver" (name "org.freedesktop.DBus") */
+
+ proxy = dbus_g_proxy_new_for_name (connection,
+ "org.gnome.ScreenSaver",
+ "/org/gnome/ScreenSaver",
+ "org.gnome.ScreenSaver");
+
CvHaarClassifierCascade* cascade = load_object_detector(argv[1]);
CvCapture* capture = cvCaptureFromCAM(CV_CAP_ANY);
getchar();
return -1;
}
- IplImage* flipped =
+ IplImage* mirrored =
cvCreateImage(cvGetSize(frame), frame->depth, frame->nChannels);
// Show the image captured from the camera in the window and repeat
while(1) {
}
//flip the image so displayed right/left corresponds to physical right/left
- cvFlip(frame, flipped, VERTICAL_FLIP);
+ cvFlip(frame, mirrored, VERTICAL_FLIP);
- detect_and_draw_objects(flipped, cascade, 1);
- cvShowImage("mywindow", flipped);
+ detect_and_draw_objects(mirrored, cascade, 1);
+ cvShowImage("mywindow", mirrored);
// Do not release the frame!
//If ESC key pressed, Key=0x10001B under OpenCV 0.9.7(linux version),
// Release the capture device housekeeping
cvReleaseCapture(&capture);
cvDestroyWindow("mywindow");
- cvReleaseImage(&flipped);
+ cvReleaseImage(&mirrored);
return 0;
}