Tino Hager
2018-06-27 d6cb0fcabcece079c6a5b511159127f585897dba
optimize max object definition

it is not possible to set the size on runtime
3 files modified
8 ■■■■■ changed files
build/darknet/YoloWrapper.cs 5 ●●●●● patch | view | raw | blame | history
src/yolo_v2_class.cpp 2 ●●●●● patch | view | raw | blame | history
src/yolo_v2_class.hpp 1 ●●●● patch | view | raw | blame | history
build/darknet/YoloWrapper.cs
@@ -6,6 +6,7 @@
    public class YoloWrapper : IDisposable
    {
        private const string YoloLibraryName = "yolo_cpp_dll.dll";
        private const int MaxObjects = 1000;
        [DllImport(YoloLibraryName, EntryPoint = "init")]
        public static extern int InitializeYolo(string configurationFilename, string weightsFilename, int gpu);
@@ -29,10 +30,10 @@
            public UInt32 frames_counter;
        };
        [StructLayout(LayoutKind.Sequential, Size = 10)]
        [StructLayout(LayoutKind.Sequential)]
        public struct BboxContainer
        {
            [MarshalAs(UnmanagedType.ByValArray, SizeConst = 10)]
            [MarshalAs(UnmanagedType.ByValArray, SizeConst = MaxObjects)]
            public bbox_t[] candidates;
        }
src/yolo_v2_class.cpp
@@ -22,8 +22,6 @@
#define FRAMES 3
int max_objects() { return C_SHARP_MAX_OBJECTS; }
static Detector* detector;
//static std::unique_ptr<Detector> detector;
src/yolo_v2_class.hpp
@@ -45,7 +45,6 @@
#include "opencv2/imgproc/imgproc_c.h"  // C
#endif  // OPENCV
extern "C" YOLODLL_API int max_objects();
extern "C" YOLODLL_API int init(const char *configurationFilename, const char *weightsFilename, int gpu);
extern "C" YOLODLL_API int detect_image(const char *filename, bbox_t_container &container);
extern "C" YOLODLL_API int detect_mat(const uint8_t* data, const size_t data_length, bbox_t_container &container);