Dmti 0 Жалоба Опубликовано October 16, 2014 Решил попробовать библиотеку Opencv, переписал под builder ХЕ5 С++ примерчик, просидел 3 дня, перерыл кучу #include, немного изменил, немного списал у вас, и стало компилироваться почти без ошибок. Но это пока я использую только IplImage *, но если использовать cv::Mat();, вылезают ошибки. Помогите, если кто разобрался с этой штуковиной, переписать так, чтобы заработало через Мат. А то только одни Мат() с языка и никакого толку. Сылка на проект https://yadi.sk/d/qZGIHSjHc4Yir Там всё вместе с библиотекой полный проект весит 38метров потому не стал грузить сразу в форум. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Smorodov 579 Жалоба Опубликовано October 16, 2014 С плюсовым интерфейсом opencv у борландовского компилятора большие проблемы были и будут, насколько я понимаю, основные проблемы возникают с шаблонами. Адаптировать можно все, но только это будет чудовищно много работы, ибо шаблонами там пропитано все капитально. На крайний случай, если уж очень хочется сделать через ... билдер, то можно соорудить DLL на MSVC или GCC, и передавать картинку через проекцию памяти в файл, пример на форуме есть ( http://www.compvision.ru/forum/index.php/topic/1193-%D0%BF%D0%B5%D1%80%D0%B5%D0%B4%D0%B0%D1%87%D0%B0-%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-%D0%BC%D0%B5%D0%B6%D0%B4%D1%83-%D0%BF%D1%80%D0%BE%D1%86%D0%B5%D1%81%D1%81%D0%B0%D0%BC%D0%B8-%D0%B7%D0%B0%D0%BF%D1%83%D1%89%D0%B5%D0%BD%D0%BD%D1%8B%D0%BC%D0%B8-%D0%BD/?hl=%D0%BC%D0%B5%D0%B6%D0%B4%D1%83+%D0%BF%D1%80%D0%BE%D1%86%D0%B5%D1%81%D1%81%D0%B0%D0%BC%D0%B8 ). Или вот, через функции обратного вызова, прототипы функций из такой DLL-ки для примера: extern "C" __declspec(dllexport) void SetAlarmFunc(void (*_CallbackFunctionAlarm)(int cat,float area,float width,float height,float vx,float vy,int dir)); extern "C" __declspec(dllexport) void InitCVcam(int CamNum,void (*_CallbackFunction)(HBITMAP bmp),int dc_w,int dc_h,bool grayMode/*,bool _useGPU*/); extern "C" __declspec(dllexport) void InitCVfile(char* filename,void (*_CallbackFunction)(HBITMAP bmp),int dc_w,int dc_h,bool grayMode/*,bool _useGPU*/); extern "C" __declspec(dllexport) void ReleaseCV(void); extern "C" __declspec(dllexport) void EnableCenters(bool state); extern "C" __declspec(dllexport) void EnableContours(bool state); extern "C" __declspec(dllexport) void SetGuiScale(float _scale); extern "C" __declspec(dllexport) void SetMouse(int x,int y,int left_button,int right_button); extern "C" __declspec(dllexport) void GetFrameSize(int* w,int* h); extern "C" __declspec(dllexport) void GetRoadInfo(int* U, int* D); extern "C" __declspec(dllexport) void GetBackground(void); extern "C" __declspec(dllexport) void SetThresholds(float Th1,float Th2,float Th3,float Th4); extern "C" __declspec(dllexport) void SetMinMaxBlobs(float AreaMin,float AreaMax); extern "C" __declspec(dllexport) void ResetRoadInfo(int dir); extern "C" __declspec(dllexport) void enum_devices(int* ncams,wchar_t* camlist); extern "C" __declspec(dllexport) void SetHandleSize(float sz); Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Dmti 0 Жалоба Опубликовано October 17, 2014 Спасибо за быстрый ответ. Но всё не то. Извините. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах