Перейти к содержанию

    

Портирование проекта из Matlab в C/CPP

Коллеги, приветствую.

Задача в следующем.

Есть разработанный алгоритм на Matlab-е. Назначение – выделение из видеопотока движущихся объектов и выдача наружу их координат.

Входными данными являются видео-файлы (их набор ограничен), выходом – координаты рамки, окружающей объект.

Для модели сделана простая визуализация, отображающая в плеере рамку.

«Закрытые мегафункции» (затрудняюсь с точным термином) матлаба не используются.

Модель в матлабе полностью работоспособна и была сдана заказчику.

Есть документация на алгоритм. В исходниках приличные комментарии.

Есть, кто проконсультирует по математике.

Необходимо сделать: транслировать матлабовскую модель в с-код. Можно в с++.

В силу крайне жестких сроков предпочтительно использовать автоматический метод трансляции, подправляя его вручную. Но в конечном счете это на усмотрение разработчика.

Критичен срок. Я ориентируюсь на 2-4 недели, можно больше, но в пределах этих сроков должно быть что-то работоспособное.

В целях контроля результата нужно будет ввести «точку контроля», утрируя – сравнивать выходные данные, то есть координаты, генерируемые исходной моделью и с-шной моделью. Допускаются отклонения, в пределах срока решения задачи допускается результат категории «почти совпадает».

Ориентировочный размер оплаты (на руки) – 150 т.р., это обсуждаемо.

Это основные моменты, исполнителю, который выразит предварительное согласие – все подробности и исходные данные вышлю.

Мы в Питере, возможна удаленная работа по этой задаче.

asc@oberonlab.ru

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


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

Есть такой продукт - MATLAB Coder . Он вам сам все сгенерирует.

А вообще для таких задач вам надо было бы использовать библиотеку OpenCV.

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


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

Автоматические тесты на матлабе подняты?

Сколько килобайт исходного кода?

С++14 допустим?

OpenCV, Intel MKL допустим?

Контроль версий git/hg?

Визуализация нужна, или файл на вхоже, файл на выходе, или REST API?

Если нужна простая визуализация:

Достаточно средств OpenCv (без менюшек и прочих GUI)?

Визуализация Windows или Linux?

 

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


Ссылка на сообщение
Поделиться на другие сайты
Автоматические тесты на матлабе подняты?

Сколько килобайт исходного кода?

С++14 допустим?

OpenCV, Intel MKL допустим?

Контроль версий git/hg?

Визуализация нужна, или файл на вхоже, файл на выходе, или REST API?

Если нужна простая визуализация:

Достаточно средств OpenCv (без менюшек и прочих GUI)?

Визуализация Windows или Linux?

 

Попытаюсь ответить, на которые не смог - переадресовал разработчику.

70К исходников (*.m)

OpenCv, насколько знаю, использовали, но неудачно.

Контроль версий есть.

Визуализация есть (внешняя утилитка кроссплатформенная с gui), но в данный момент она не нужна - нужно добиться идентичного (более-менее) потока выходных данных.

Автоматическая генерация не получилась. «Что-то» собирается, но с массой варнингов, в итоге собранный код неработоспособен.

 

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


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

OpenCV и MLK не для замены вашего алгоритма, а как раз для его реализации.

Чтение изображений (matlab:imread), умножение матриц и векторов, другое.

Или вам надо 100% чистое решение?

 

Если не используете пакеты (toolbox), кроме базового, значит скрипт исполняется в Octave?

 

Вопрос по С++14:

Может у вас требование на древние версии компиляторов (msvc2012 или gcc4.4).

Или нет программистов для дальнейшего сопровождения кода на С++14.

 

С интерфейсом понятно.

 

Автотестирование вашего скрипта/скриптов на матлабе уже есть (прогон алгоритма и сравнение результатов с ожиданием)?

Или проверяете в ручном режиме?

 

Работаете с матлабом в Linux или Windows?

 

Вариант с Matlab Compiler рассматривали?

Скомпилировать dll или exe из существующего matlab кода и использовать в своих программах.

Можно найти компанию с лицензией на Compiler и сделать "продукт" по договору.

 

 

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


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

Для публикации сообщений создайте учётную запись или авторизуйтесь

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

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

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация