opencv中mat的结构?

2vi*_*on2 1 c c++ opencv mat

我尝试了Mat的结构,我的应用程序显示为"运行失败".还有其他方法吗?

以下是我试过的代码,它失败了.如何进行锻炼或其他任何方式?

"COMMON.H"

struct initialize {
      cv :: Mat G_Sm;
};
Run Code Online (Sandbox Code Playgroud)

"Initialize.cpp"

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

"的main.cpp"

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

 return 0;
}
Run Code Online (Sandbox Code Playgroud)

如果我使用"int"而不是Mat,程序不会崩溃.如果结构中的"Mat"变量,则程序崩溃.

mol*_*ilo 6

使用C++而不是C:

initialize* initfunction ( ) {
    initialize* initializemat = new initialize;
    return initializemat;
}
Run Code Online (Sandbox Code Playgroud)

你不应该用C++对象分配malloc.
malloc没有为你打电话给任何建设者,留下G_Sm未初始化的.