Перенос кода Matlab на C ++ с набором данных .mat

0

Я пытаюсь экспортировать файл .mat который хранит данные, хранящиеся в datatype struc в формате hd5, чтобы сделать его совместимым с c++ портированием с использованием coder. Но hd5 принимает только числовые значения. Код содержит следующую ошибку:

Error using ==> h5write at 54 Argument 'Data' failed validation isnumeric.

Я не уверен, правильно ли я его использую, но здесь мой код

h5write('myfile.h5','/model/filters',model.filters,1,146); 

а также попытался, но получил такую же ошибку -

h5write('myfile.h5','/model/filters','face_p146_small.mat',1,146);

Мои сомнения в продолжении с моим предыдущим вопросом здесь. Любую помощь по портированию кода из Matlab в c++, имеющую данные в формате.mat, очень ценится.

  • 0
    Итак, вы абсолютно уверены, что компилятор C от Matlab не делает работу на лету, так что вам нужно накатить свой собственный код C?
  • 0
    @phoeagon yup..i я получил ошибку, как указано в stackoverflow.com/q/20088797/1958635, а также на основе ответа, который я получил на этот вопрос.
Показать ещё 4 комментария
Теги:
hdf5
face-detection
porting

1 ответ

0
Лучший ответ

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

Список всех функций, поддерживаемых при преобразовании кода Matlab в C++

http://www.mathworks.in/help/simulink/ug/functions-supported-for-code-generation--alphabetical-list.html

Список форматов данных, поддерживаемых Matlab

http://www.mathworks.in/help/matlab/import_export/supported-file-formats.html

Кажется, что ни одна из функций не поддерживает форматы данных, поддерживаемые матрицей Matlab.

Следовательно, мне обязательно придется переписать код

Ещё вопросы

Сообщество Overcoder
Наверх
Меню