zoukankan      html  css  js  c++  java
  • [matlab] vc++和matlab混合编程

    mathwork官网解决方案,说的很详细啦。

    https://cn.mathworks.com/matlabcentral/answers/94471-how-do-i-create-a-c-c-shared-library-with-matlab-compiler-that-can-be-used-in-a-microsoft-visual-c

    直接上我的代码吧:

    matlab的m文件,两个输入变量,没有输出

    function cameraCalibrator(basis,numImages)
    ...
    ...
    ...
    end
    

    然后在命令行中运行

    mcc -W cpplib:camCalibMatlab -T link:lib cameraCalibrator.m
    

      将生成的dll,lib和h文件copy到c++代码路径下。

    c++中的调用为:

    bool CamCalibrator::run()
    {
        if (!camCalibMatlabInitialize())
        {
            return false;
        }
        cout<<endl;
        cout<<"Start matlab code!"<<endl;
        cout<<endl;
        mwArray _basis(1,1,mxDOUBLE_CLASS);
        mwArray _numImage(1,1,mxDOUBLE_CLASS);
        _basis.SetData(&basis,1);
        _numImage.SetData(&numImage,1);
        cameraCalibrator(_basis,_numImage);
        // terminate MCR  
        mclTerminateApplication(); 
        cout<<"Matlab create XML file!"<<endl;
        return true;
    }
    1)camCalibMatlabInitialize是必须的;
    2)
    mwArray 借口类型;
    3)mclTerminateApplication 关闭调用。


    代码下载: https://github.com/zhanxiage1994/Cplusplus-matlabCalibrationCamera.git
  • 相关阅读:
    CocoaPods 安装教程
    iOS 如何使用第三方字库
    iOS 获取当前网络状态
    GitHub上README.md教程
    如何获取iOS软件包内容
    iOS中如何监测来电
    OS 如何选择delegate、notification、KVO?
    iOS-Block总结 && 全面解析逆向传值
    iOS面试题
    iOS优秀博客收录
  • 原文地址:https://www.cnblogs.com/zhanxiage1994/p/6382505.html
Copyright © 2011-2022 走看看