optimize max object definition
it is not possible to set the size on runtime
| | |
| | | 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); |
| | |
| | | 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; |
| | | } |
| | | |
| | |
| | | |
| | | #define FRAMES 3 |
| | | |
| | | int max_objects() { return C_SHARP_MAX_OBJECTS; } |
| | | |
| | | static Detector* detector; |
| | | //static std::unique_ptr<Detector> detector; |
| | | |
| | |
| | | #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); |