Перейти к содержимому
Compvision.ru
Dmti

Помогите разобраться с (я так думаю) установкой

Recommended Posts

Решил попробовать библиотеку Opencv, переписал под builder ХЕ5 С++ примерчик, просидел 3 дня, перерыл кучу #include, немного изменил, немного списал у вас, и стало компилироваться почти без ошибок. Но это пока я использую только IplImage *, но если использовать cv::Mat();, вылезают ошибки.
Помогите, если кто разобрался с этой штуковиной, переписать так, чтобы заработало через Мат.  А то только одни Мат() с языка и никакого толку.
Сылка на проект https://yadi.sk/d/qZGIHSjHc4Yir 
Там всё вместе с библиотекой полный проект весит 38метров потому не стал грузить сразу в форум.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

С плюсовым интерфейсом 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);

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Спасибо за быстрый ответ. Но всё не то. Извините.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте учётную запись или войдите для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать учётную запись

Зарегистрируйтесь для создания учётной записи. Это просто!

Зарегистрировать учётную запись

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас


  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу

×