2013-11-20 1 views
0

Я должен использовать алгоритм обнаружения глазных глаз на Zhu Ramanan в веб-приложении. Они предоставили код в Matlab, а основные вычисления выполняются на C++. Поскольку я новичок в обработке изображений и Matlab, я не могу понять, как продолжить работу с моим веб-приложением.Использование кода Чжу Раманана в веб-приложении

Я обнаружил, что код Matlab можно портировать на C++ с помощью функции кодера. Поэтому я попытался использовать функцию кодера в Matlab, которая открыла меню Build, в котором я выбрал исполняемый файл C/C++. Но сборка застревает, когда код загружает файл .mat. Он дает следующую ошибку:

Function 'load' implicitly resolved in the MATLAB workspace. Implicit evaluation 
in MATLAB is not supported. Please declare this function extrinsic using 
coder.extrinsic('load'), or call it using feval. 

Но оба coder.extrinsic и feval не совместимы с C++.

Я также читал о возможности выполнения файла matlab с php, но это был бы очень медленный процесс (пожалуйста, поправьте меня, если я ошибаюсь).

Может кто-нибудь спросить, не ошибаюсь ли я и/или как я должен действовать.

ответ

1

Код Чжу и Раманан использует модель , изучил модель, чтобы обнаружить лица и опорные точки на них. Ученые параметры хранятся в двоичном файле формата mat, используемом Matlab. Похоже, что кодер не может передать команду load, которая читает этот файл.

Для того, чтобы исправить это, я боюсь, вам придется немного разобраться в ваших руках. Вам нужно будет заменить файл mat на другой формат и соответствующим образом изменить его.
Прочтите файл mat в Matlab с помощью load и преобразуйте его в другой формат по вашему выбору. Измените код, чтобы прочитать новый файл, используя более основные команды (например, fopen, fread и понравившиеся), затем используйте кодер для переноса измененного кода.

+0

thnx для быстрого ответа..i используется 'load ('face_p146_small.mat'); dlmwrite ('face_p146_small.csv', load ('face_p146_small.mat')); 'inorder, чтобы записать его в файл csv, но он дает мне ошибку, как упоминалось [link] (http://goo.gl/eVfoqZ). честно говоря, я не мог понять это. Протестировал и другие методы, но я не могу их использовать, поскольку у меня нет опыта работы с Matlab. Пожалуйста помоги. –

+0

@ShivangDoshi, пожалуйста, посмотрите содержимое файла мата, который вы пытаетесь сохранить. Это ** не ** просто куча чисел. Они расположены в компонентах и ​​частях. Это довольно сложная база данных для хранения модели. Вам нужно будет сделать более тяжелую работу, конвертируя ее. Я бы порекомендовал вам использовать некоторый двоичный формат, чтобы сохранить размер файла от взрыва. – Shai

+0

@ShivangDoshi Считаете ли вы использование формата файла hdf5? См. [Эта помощь] (http://www.mathworks.com/help/matlab/import_export/importing-hierarchical-data-format-hdf5-files.html). Я не уверен, что кодер поддерживает этот тип файла, поэтому вам нужно будет подтвердить этот момент. – Shai