Структура Mat в opencv?

Я старался Структура мата мое приложение отображается как «Выполнить не удалось». Есть ли другой способ сделать это?

Ниже приведен код, который я пробовал, и его получение не удалось. Как сделать эту тренировку или есть другие способы?

«Common.h»

struct initialize {
cv :: Mat G_Sm;
};

«Initialize.cpp»

struct initialize* initfunction ( ) {
struct initialize* initializemat = ( initialize* ) malloc(sizeof(*initializemat));
initializemat -> G_Sm = Mat:: zeros ( 3,1, CV_8U );
return (initializemat);
}

«Main.cpp»

int main () {
struct initialize* initializem = initfunction ();
cout << initializem -> G_Sm << endl;

return 0;
}

Вместо Mat, если я использую «int», программа не падает. Если в структуре это переменная «Mat», программа аварийно завершает работу.

1

Решение

Используйте C ++ вместо C:

initialize* initfunction ( ) {
initialize* initializemat = new initialize;
return initializemat;
}

Вы не должны выделять объекты C ++ с malloc,
malloc не вызывает никаких конструкторов для вас, оставляя G_Sm неинициализированный.

6

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]