From b394337824c59dd970b87c5978fe4e8b94b85cb2 Mon Sep 17 00:00:00 2001
From: Joseph Redmon <pjreddie@gmail.com>
Date: Tue, 17 Nov 2015 19:09:00 +0000
Subject: [PATCH] killed some warnings, cam control

---
 src/yolo.c          |   12 ++++++++----
 src/image.c         |    6 +++---
 src/image.h         |    4 ++--
 src/yolo_kernels.cu |    6 +++---
 4 files changed, 16 insertions(+), 12 deletions(-)

diff --git a/src/image.c b/src/image.c
index ac49529..8497032 100644
--- a/src/image.c
+++ b/src/image.c
@@ -201,7 +201,7 @@
 }
 
 #ifdef OPENCV
-void show_image_cv(image p, char *name)
+void show_image_cv(image p, const char *name)
 {
     int x,y,k;
     image copy = copy_image(p);
@@ -244,7 +244,7 @@
 }
 #endif
 
-void show_image(image p, char *name)
+void show_image(image p, const char *name)
 {
 #ifdef OPENCV
     show_image_cv(p, name);
@@ -254,7 +254,7 @@
 #endif
 }
 
-void save_image(image im, char *name)
+void save_image(image im, const char *name)
 {
     char buff[256];
     //sprintf(buff, "%s (%d)", name, windows);
diff --git a/src/image.h b/src/image.h
index e16d285..336cfa1 100644
--- a/src/image.h
+++ b/src/image.h
@@ -43,8 +43,8 @@
 image collapse_images_horz(image *ims, int n);
 image collapse_images_vert(image *ims, int n);
 
-void show_image(image p, char *name);
-void save_image(image p, char *name);
+void show_image(image p, const char *name);
+void save_image(image p, const char *name);
 void show_images(image *ims, int n, char *window);
 void show_image_layers(image p, char *name);
 void show_image_collapsed(image p, char *name);
diff --git a/src/yolo.c b/src/yolo.c
index 7da69f7..80d85af 100644
--- a/src/yolo.c
+++ b/src/yolo.c
@@ -21,7 +21,7 @@
         float prob = probs[i][class];
         if(prob > thresh){
             int width = pow(prob, 1./2.)*10+1;
-            //width = 8;
+            width = 8;
             printf("%s: %.2f\n", voc_names[class], prob);
             class = class * 7 % 20;
             float red = get_color(0,class,classes);
@@ -427,14 +427,18 @@
 #endif
  */
 
-void demo_yolo(char *cfgfile, char *weightfile, float thresh);
+void demo_yolo(char *cfgfile, char *weightfile, float thresh, int cam_index);
 #ifndef GPU
-void demo_yolo(char *cfgfile, char *weightfile, float thresh){}
+void demo_yolo(char *cfgfile, char *weightfile, float thresh, int cam_index)
+{
+    fprintf(stderr, "Darknet must be compiled with CUDA for YOLO demo.\n");
+}
 #endif
 
 void run_yolo(int argc, char **argv)
 {
     float thresh = find_float_arg(argc, argv, "-thresh", .2);
+    int cam_index = find_int_arg(argc, argv, "-c", 0);
     if(argc < 4){
         fprintf(stderr, "usage: %s %s [train/test/valid] [cfg] [weights (optional)]\n", argv[0], argv[1]);
         return;
@@ -447,5 +451,5 @@
     else if(0==strcmp(argv[2], "train")) train_yolo(cfg, weights);
     else if(0==strcmp(argv[2], "valid")) validate_yolo(cfg, weights);
     else if(0==strcmp(argv[2], "recall")) validate_yolo_recall(cfg, weights);
-    else if(0==strcmp(argv[2], "demo")) demo_yolo(cfg, weights, thresh);
+    else if(0==strcmp(argv[2], "demo")) demo_yolo(cfg, weights, thresh, cam_index);
 }
diff --git a/src/yolo_kernels.cu b/src/yolo_kernels.cu
index a0ff5f7..86cdc53 100644
--- a/src/yolo_kernels.cu
+++ b/src/yolo_kernels.cu
@@ -61,7 +61,7 @@
     return 0;
 }
 
-extern "C" void demo_yolo(char *cfgfile, char *weightfile, float thresh)
+extern "C" void demo_yolo(char *cfgfile, char *weightfile, float thresh, int cam_index)
 {
     printf("YOLO demo\n");
     net = parse_network_cfg(cfgfile);
@@ -72,7 +72,7 @@
 
     srand(2222222);
 
-    cv::VideoCapture cam(0);
+    cv::VideoCapture cam(cam_index);
     cap = cam;
     if(!cap.isOpened()) error("Couldn't connect to webcam.\n");
 
@@ -118,7 +118,7 @@
     }
 }
 #else
-extern "C" void demo_yolo(char *cfgfile, char *weightfile, float thresh){
+extern "C" void demo_yolo(char *cfgfile, char *weightfile, float thresh, int cam_index){
     fprintf(stderr, "YOLO demo needs OpenCV for webcam images.\n");
 }
 #endif

--
Gitblit v1.10.0