projects
/
ozzloy@gmail.com
/
oble
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
5a96bc7
)
add verbosity flag on cli. Closes #10
author
ozzloy
<ozzloy@zero7.(none)>
Sun, 7 Mar 2010 22:05:58 +0000
(14:05 -0800)
committer
ozzloy
<ozzloy@zero7.(none)>
Sun, 7 Mar 2010 22:05:58 +0000
(14:05 -0800)
oble.cpp
patch
|
blob
|
blame
|
history
diff --git
a/oble.cpp
b/oble.cpp
index d949cd594d9f31df2c287b943af0281472229e09..fcba87c697cf05f7061bc12909072f40c5a94459 100644
(file)
--- a/
oble.cpp
+++ b/
oble.cpp
@@
-46,12
+46,11
@@
using namespace std;
static string cascade_filename = "";
using namespace std;
static string cascade_filename = "";
+static int verbose = 0;
// argument for cvFlip(src, dest, FLIP_TYPE)
#define MIRROR 1
// argument for cvFlip(src, dest, FLIP_TYPE)
#define MIRROR 1
-#define DEBUG 0
-
CvHaarClassifierCascade* load_object_detector(const char* cascade_path)
{
return (CvHaarClassifierCascade*)cvLoad(cascade_path);
CvHaarClassifierCascade* load_object_detector(const char* cascade_path)
{
return (CvHaarClassifierCascade*)cvLoad(cascade_path);
@@
-84,13
+83,13
@@
void detect_and_draw_objects(IplImage* image,
if(0 < faces->total)
{
t_current = time(NULL);
if(0 < faces->total)
{
t_current = time(NULL);
- if(
DEBUG
)
+ if(
verbose
)
{
printf(":) face \n");
}
if(saw_last_time)
{
{
printf(":) face \n");
}
if(saw_last_time)
{
- if(
DEBUG
)printf("\t\tpoking\n");
+ if(
verbose
)printf("\t\tpoking\n");
reset_idle_time();
system("gnome-screensaver-command --poke");
}
reset_idle_time();
system("gnome-screensaver-command --poke");
}
@@
-99,7
+98,7
@@
void detect_and_draw_objects(IplImage* image,
else
{
saw_last_time = 0;
else
{
saw_last_time = 0;
- if(
DEBUG
)
+ if(
verbose
)
{
printf(":( no face \n");
}
{
printf(":( no face \n");
}
@@
-130,7
+129,7
@@
void screensave(time_t t_current)
if(elapse > timeout && elapse != last_elapse)
{
last_elapse = elapse;
if(elapse > timeout && elapse != last_elapse)
{
last_elapse = elapse;
- if(
DEBUG
)
+ if(
verbose
)
{
printf("elapse = %d\n", elapse);
}
{
printf("elapse = %d\n", elapse);
}
@@
-152,33
+151,46
@@
void screensave(time_t t_current)
int parse_opts(int argc, char **argv)
{
int index, c;
int parse_opts(int argc, char **argv)
{
int index, c;
- //int opterr=0, optopt=0, optind=0;
- //char *optarg;
- // int getopt(int argc, char **argv, const char *options);
opterr = 0;
opterr = 0;
- const char *options = "c:";
+ const char *options = "
v
c:";
while((c = getopt(argc, argv, options)) != -1)
while((c = getopt(argc, argv, options)) != -1)
+ {
switch(c)
{
switch(c)
{
- case 'c':
- cascade_filename = string(optarg);
- printf("option c, argument = %s\n", optarg);
+ case 'v': verbose = 1; break;
+ case 'c': cascade_filename = string(optarg); break;
case '?':
if(optopt == 'c')
case '?':
if(optopt == 'c')
+ {
printf("option -%c requires an argument.\n", optopt);
printf("option -%c requires an argument.\n", optopt);
+ }
else if(isprint (optopt))
else if(isprint (optopt))
+ {
printf("unknown option `-%c'.\n", optopt);
printf("unknown option `-%c'.\n", optopt);
+ }
else
else
+ {
printf("unknown option char `\\x%x'.\n", optopt);
printf("unknown option char `\\x%x'.\n", optopt);
- goto known_args_processed;
- default:
-
abort();
+ }
+ break;
+
default:
abort();
}
}
-known_args_processed:
+ }
for(index = optind; index < argc; index++)
printf("Non-option arg %s\n", argv[index]);
for(index = optind; index < argc; index++)
printf("Non-option arg %s\n", argv[index]);
+ if(cascade_filename == "")
+ {
+ printf("you must supply a filename with -c option. example:\n");
+ printf(
+ "%s -c %s\n",
+ argv[0],
+ "/usr/share/opencv/haarcascades/haarcascade_frontalface_alt.xml"
+ );
+ return 1;
+ }
+ if(verbose) printf("SILENT ALARM ACTIVATED!!!\n");
return 0;
}
return 0;
}
@@
-187,7
+199,6
@@
int main(int argc, char** argv)
{
if(parse_opts(argc, argv)) return 0;
{
if(parse_opts(argc, argv)) return 0;
- if(cascade_filename == "") cascade_filename = string(argv[1]);
CvHaarClassifierCascade* cascade =
load_object_detector(cascade_filename.c_str());
CvHaarClassifierCascade* cascade =
load_object_detector(cascade_filename.c_str());