darknet  v3
art.c
Go to the documentation of this file.
1 #include "darknet.h"
2 
3 #include <sys/time.h>
4 
5 void demo_art(char *cfgfile, char *weightfile, int cam_index)
6 {
7 #ifdef OPENCV
8  network *net = load_network(cfgfile, weightfile, 0);
9  set_batch_network(net, 1);
10 
11  srand(2222222);
12  CvCapture * cap;
13 
14  cap = cvCaptureFromCAM(cam_index);
15 
16  char *window = "ArtJudgementBot9000!!!";
17  if(!cap) error("Couldn't connect to webcam.\n");
18  cvNamedWindow(window, CV_WINDOW_NORMAL);
19  cvResizeWindow(window, 512, 512);
20  int i;
21  int idx[] = {37, 401, 434};
22  int n = sizeof(idx)/sizeof(idx[0]);
23 
24  while(1){
25  image in = get_image_from_stream(cap);
26  image in_s = resize_image(in, net->w, net->h);
27 
28  float *p = network_predict(net, in_s.data);
29 
30  printf("\033[2J");
31  printf("\033[1;1H");
32 
33  float score = 0;
34  for(i = 0; i < n; ++i){
35  float s = p[idx[i]];
36  if (s > score) score = s;
37  }
38  score = score;
39  printf("I APPRECIATE THIS ARTWORK: %10.7f%%\n", score*100);
40  printf("[");
41  int upper = 30;
42  for(i = 0; i < upper; ++i){
43  printf("%c", ((i+.5) < score*upper) ? 219 : ' ');
44  }
45  printf("]\n");
46 
47  show_image(in, window, 1);
48  free_image(in_s);
49  free_image(in);
50  }
51 #endif
52 }
53 
54 
55 void run_art(int argc, char **argv)
56 {
57  int cam_index = find_int_arg(argc, argv, "-c", 0);
58  char *cfg = argv[2];
59  char *weights = argv[3];
60  demo_art(cfg, weights, cam_index);
61 }
62 
image resize_image(image im, int w, int h)
Definition: image.c:1351
void set_batch_network(network *net, int b)
Definition: network.c:339
int show_image(image p, const char *name, int ms)
Definition: image.c:575
Definition: darknet.h:512
network_predict
Definition: darknet.py:79
free_image
Definition: darknet.py:95
int find_int_arg(int argc, char **argv, char *arg, int def)
Definition: utils.c:133
void run_art(int argc, char **argv)
Definition: art.c:55
network * load_network(char *cfg, char *weights, int clear)
Definition: network.c:53
void demo_art(char *cfgfile, char *weightfile, int cam_index)
Definition: art.c:5
int h
Definition: darknet.h:468
void error(const char *s)
Definition: utils.c:253
int w
Definition: darknet.h:468
float * data
Definition: darknet.h:516