将数据从OpenCV矩阵发送到Matlab引擎,C++; 我用C++和Matlab引擎从OpenCV矩阵发送数据到Matlab。我试图从列专业转换为行专业,但我真的很困惑如何做到这一点。我无法理解如何处理Matlab指针数组并将数据放入引擎

将数据从OpenCV矩阵发送到Matlab引擎,C++; 我用C++和Matlab引擎从OpenCV矩阵发送数据到Matlab。我试图从列专业转换为行专业,但我真的很困惑如何做到这一点。我无法理解如何处理Matlab指针数组并将数据放入引擎,c++,matlab,opencv,matlab-engine,C++,Matlab,Opencv,Matlab Engine,有没有人与OpenCV和matlab一起发送矩阵?我没有找到太多的信息,我认为这是一个非常有趣的工具。欢迎任何帮助。如果您创建了matlab引擎,我有一个功能可以工作。我要做的是为matlab引擎创建一个单音模板: 我的标题如下所示: /** Singletone class definition * */ class MatlabWrapper { private: static MatlabWrapper *_theInstance; ///<

有没有人与OpenCV和matlab一起发送矩阵?我没有找到太多的信息,我认为这是一个非常有趣的工具。欢迎任何帮助。

如果您创建了matlab引擎,我有一个功能可以工作。我要做的是为matlab引擎创建一个单音模板:

我的标题如下所示:

/** Singletone class definition
  * 
  */
class MatlabWrapper
    {
    private:
        static MatlabWrapper *_theInstance; ///< Private instance of the class
        MatlabWrapper(){}           ///< Private Constructor
        static Engine *eng; 

    public:
        static MatlabWrapper *getInstance() ///< Get Instance public method
        {
            if(!_theInstance) _theInstance = new MatlabWrapper(); ///< If instance=NULL, create it

    return _theInstance;            ///< If instance exists, return instance
        }
    public:
    static void openEngine();               ///< Starts matlab engine.
    static void cvLoadMatrixToMatlab(const Mat& m, string name);
    };
就这么简单:

MatlabWrapper::getInstance()->cvLoadMatrixToMatlab(A,"A");
值得一看的是,一个将OpenCV作为MEX函数公开给MATLAB的项目
Mat A = Mat::zeros(13, 1, CV_32FC1);
MatlabWrapper::getInstance()->cvLoadMatrixToMatlab(A,"A");