From 56fd10435a4019e15783ed4a53ddb53722bcac20 Mon Sep 17 00:00:00 2001 From: AlexeyAB Date: Thu, 26 Oct 2017 15:50:38 +0300 Subject: [PATCH] Use load_image_cv() on OpenCV 3.x --- src/detector.c | 13 +++++++++---- src/image.c | 15 ++++++++++++--- 2 files changed, 21 insertions(+), 7 deletions(-) diff --git a/src/detector.c b/src/detector.c index 367b3a32..44f715df 100644 --- a/src/detector.c +++ b/src/detector.c @@ -11,15 +11,20 @@ #include "opencv2/highgui/highgui_c.h" #include "opencv2/core/core_c.h" #include "opencv2/core/version.hpp" + #ifndef CV_VERSION_EPOCH #include "opencv2/videoio/videoio_c.h" -#pragma comment(lib, "opencv_world320.lib") +#define OPENCV_VERSION CVAUX_STR(CV_VERSION_MAJOR)""CVAUX_STR(CV_VERSION_MINOR)""CVAUX_STR(CV_VERSION_REVISION) +#pragma comment(lib, "opencv_world" OPENCV_VERSION ".lib") #else -#pragma comment(lib, "opencv_core2413.lib") -#pragma comment(lib, "opencv_imgproc2413.lib") -#pragma comment(lib, "opencv_highgui2413.lib") +#define OPENCV_VERSION CVAUX_STR(CV_VERSION_EPOCH)""CVAUX_STR(CV_VERSION_MAJOR)""CVAUX_STR(CV_VERSION_MINOR) +#pragma comment(lib, "opencv_core" OPENCV_VERSION ".lib") +#pragma comment(lib, "opencv_imgproc" OPENCV_VERSION ".lib") +#pragma comment(lib, "opencv_highgui" OPENCV_VERSION ".lib") #endif + #endif + static int coco_ids[] = {1,2,3,4,5,6,7,8,9,10,11,13,14,15,16,17,18,19,20,21,22,23,24,25,27,28,31,32,33,34,35,36,37,38,39,40,41,42,43,44,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,67,70,72,73,74,75,76,77,78,79,80,81,82,84,85,86,87,88,89,90}; void train_detector(char *datacfg, char *cfgfile, char *weightfile, int *gpus, int ngpus, int clear) diff --git a/src/image.c b/src/image.c index 75364e1c..3afe0271 100644 --- a/src/image.c +++ b/src/image.c @@ -16,6 +16,7 @@ #include "opencv2/core/version.hpp" #ifndef CV_VERSION_EPOCH #include "opencv2/videoio/videoio_c.h" +#include "opencv2/imgcodecs/imgcodecs_c.h" #endif #endif @@ -190,6 +191,14 @@ void draw_detections(image im, int num, float thresh, box *boxes, float **probs, float prob = probs[i][class]; if(prob > thresh){ + //// for comparison with OpenCV version of DNN Darknet Yolo v2 + //printf("\n %f, %f, %f, %f, ", boxes[i].x, boxes[i].y, boxes[i].w, boxes[i].h); + // int k; + //for (k = 0; k < classes; ++k) { + // printf("%f, ", probs[i][k]); + //} + //printf("\n"); + int width = im.h * .012; if(0){ @@ -289,7 +298,7 @@ void draw_detections_cv(IplImage* show_img, int num, float thresh, box *boxes, f color.val[2] = blue * 256; cvRectangle(show_img, pt1, pt2, color, width, 8, 0); - + //printf("left=%d, right=%d, top=%d, bottom=%d, obj_id=%d, obj=%s \n", left, right, top, bot, class, names[class]); cvRectangle(show_img, pt_text_bg1, pt_text_bg2, color, width, 8, 0); cvRectangle(show_img, pt_text_bg1, pt_text_bg2, color, CV_FILLED, 8, 0); // filled CvScalar black_color; @@ -1356,8 +1365,8 @@ image load_image(char *filename, int w, int h, int c) #ifdef OPENCV #ifndef CV_VERSION_EPOCH - image out = load_image_stb(filename, c); // OpenCV 3.x - //image out = load_image_cv(filename, c); + //image out = load_image_stb(filename, c); // OpenCV 3.x + image out = load_image_cv(filename, c); #else image out = load_image_cv(filename, c); // OpenCV 2.4.x #endif