diff --git a/src/yolo_console_dll.cpp b/src/yolo_console_dll.cpp index 5172b5e3..b378b7f4 100644 --- a/src/yolo_console_dll.cpp +++ b/src/yolo_console_dll.cpp @@ -3,6 +3,7 @@ #include #include #include +#include #define OPENCV diff --git a/src/yolo_v2_class.hpp b/src/yolo_v2_class.hpp index 34e220a6..8330dfc9 100644 --- a/src/yolo_v2_class.hpp +++ b/src/yolo_v2_class.hpp @@ -51,20 +51,20 @@ public: { if(mat.data == NULL) throw std::runtime_error("file not found"); - std::shared_ptr image_ptr(new image_t, [](image_t *img) { free_image(*img); delete img; }); - *image_ptr = mat_to_image(mat); + auto image_ptr = mat_to_image(mat); return detect(*image_ptr, thresh); } -private: - static image_t mat_to_image(cv::Mat img) + static std::shared_ptr mat_to_image(cv::Mat img) { + std::shared_ptr image_ptr(new image_t, [](image_t *img) { free_image(*img); delete img; }); std::shared_ptr ipl_small = std::make_shared(img); - image_t im_small = ipl_to_image(ipl_small.get()); - rgbgr_image(im_small); - return im_small; + *image_ptr = ipl_to_image(ipl_small.get()); + rgbgr_image(*image_ptr); + return image_ptr; } +private: static image_t ipl_to_image(IplImage* src) { unsigned char *data = (unsigned char *)src->imageData;