From: ozzloy Date: Thu, 26 Feb 2009 08:18:05 +0000 (-0800) Subject: yeah! it simulates the user activity! woo! awesome X-Git-Url: http://challenge-bot.com/repos/?p=ozzloy%40gmail.com%2Foble;a=commitdiff_plain;h=4d64088075711d5e3f9a03fb4f27ed3a1670e737 yeah! it simulates the user activity! woo! awesome --- diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..3268211 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.*.sw? diff --git a/Makefile b/Makefile index 4463e6a..fd1361f 100644 --- a/Makefile +++ b/Makefile @@ -8,3 +8,8 @@ dbushello: dbushello.c test: all ./hello-world /usr/share/opencv/haarcascades/haarcascade_frontalface_alt.xml + +clean: + rm -rf hello-world tags dbushello + +.PHONY: clean diff --git a/hello-world.cpp b/hello-world.cpp index 2fd2156..045c114 100644 --- a/hello-world.cpp +++ b/hello-world.cpp @@ -1,28 +1,31 @@ //use the camera to aid the decision to sleep. //Copyright 2009 Daniel Watson /* - This file is part of oble. + This file is part of oble. - oble is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. + oble is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. - oble is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. + oble is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. - You should have received a copy of the GNU General Public License - along with oble. If not, see . + You should have received a copy of the GNU General Public License + along with oble. If not, see . - */ +*/ #include #include #include +#include #include #include +using namespace std; + DBusGConnection *connection; GError *error; DBusGProxy *proxy; @@ -31,7 +34,7 @@ char **name_list_ptr; // argument for cvFlip(src, dest, FLIP_TYPE) -#define VERTICAL_FLIP 1 +#define MIRROR 1 CvHaarClassifierCascade* load_object_detector(const char* cascade_path) { @@ -61,29 +64,10 @@ void detect_and_draw_objects(IplImage* image, 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 + if(0 < faces->total) { - fprintf(stderr, "peaches"); + dbus_g_proxy_call_no_reply(proxy, "SimulateUserActivity", G_TYPE_INVALID); } -#endif /* draw all the rectangles */ for(i = 0; i < faces->total; i++) @@ -128,7 +112,7 @@ int main(int argc, char** argv) CvCapture* capture = cvCaptureFromCAM(CV_CAP_ANY); if(!capture) { - fprintf(stderr, "ERROR: capture is NULL \n"); + cerr << "ERROR: capture is NULL " << endl; getchar(); return -1; } @@ -138,7 +122,7 @@ int main(int argc, char** argv) IplImage* frame = cvQueryFrame(capture); if(!frame) { - fprintf(stderr, "ERROR: frame is null...\n"); + cerr << "ERROR: frame is null..." << endl; getchar(); return -1; } @@ -149,13 +133,13 @@ int main(int argc, char** argv) // Get one frame frame = cvQueryFrame(capture); if(!frame) { - fprintf(stderr, "ERROR: frame is null...\n"); + cerr << "ERROR: frame is null..." << endl; getchar(); break; } //flip the image so displayed right/left corresponds to physical right/left - cvFlip(frame, mirrored, VERTICAL_FLIP); + cvFlip(frame, mirrored, MIRROR); detect_and_draw_objects(mirrored, cascade, 1); cvShowImage("mywindow", mirrored);