| | |
| | | #define FRAMES 1 |
| | | |
| | | #ifdef OPENCV |
| | | #include "opencv2/highgui/highgui.hpp" |
| | | #include "opencv2/imgproc/imgproc.hpp" |
| | | #include "opencv2/highgui/highgui_c.h" |
| | | #include "opencv2/imgproc/imgproc_c.h" |
| | | void convert_coco_detections(float *predictions, int classes, int num, int square, int side, int w, int h, float thresh, float **probs, box *boxes, int only_objectness); |
| | | |
| | | extern char *coco_classes[]; |
| | |
| | | void demo_coco(char *cfgfile, char *weightfile, float thresh, int cam_index, const char *filename) |
| | | { |
| | | demo_thresh = thresh; |
| | | printf("YOLO demo\n"); |
| | | printf("COCO demo\n"); |
| | | net = parse_network_cfg(cfgfile); |
| | | if(weightfile){ |
| | | load_weights(&net, weightfile); |
| | |
| | | } |
| | | |
| | | if(!cap) error("Couldn't connect to webcam.\n"); |
| | | cvNamedWindow("YOLO", CV_WINDOW_NORMAL); |
| | | cvResizeWindow("YOLO", 512, 512); |
| | | cvNamedWindow("COCO", CV_WINDOW_NORMAL); |
| | | cvResizeWindow("COCO", 512, 512); |
| | | |
| | | detection_layer l = net.layers[net.n-1]; |
| | | int j; |
| | |
| | | det_s = in_s; |
| | | } |
| | | |
| | | int count = 0; |
| | | while(1){ |
| | | ++count; |
| | | struct timeval tval_before, tval_after, tval_result; |
| | | gettimeofday(&tval_before, NULL); |
| | | if(pthread_create(&fetch_thread, 0, fetch_in_thread_coco, 0)) error("Thread creation failed"); |
| | | if(pthread_create(&detect_thread, 0, detect_in_thread_coco, 0)) error("Thread creation failed"); |
| | | show_image(disp, "YOLO"); |
| | | save_image(disp, "YOLO"); |
| | | //show_image(disp, "COCO"); |
| | | char buff[256]; |
| | | sprintf(buff, "/home/pjreddie/coco/coco_%05d", count); |
| | | save_image(disp, buff); |
| | | |
| | | free_image(disp); |
| | | cvWaitKey(10); |
| | | pthread_join(fetch_thread, 0); |