如何通过二维数组从c++ matlab通过墨西哥人新的c++ api

41视图(30天)
你好,我想了解如何把matlab c++变量和变量
假设我想通过矩阵在c++中创建(2 d或一维数组)浮动matlab。
我使用新的c++ api
我有试过类似:
CMatrixType2D <飘> m_mfImage;/ /创建矩阵
m_mfImage.Init (m_Alg.mConfig。uiHeight m_Alg.mConfig.uiWidth); / /初始化矩阵
aOutput。m_pmuiImage = &m_mfImage;
/ /执行算法
m_Alg。执行(&aInput &aOutput); / /创建框架输出
输出[0]=工厂。({m_Alg.mConfig createArray <飘>。uiHeight m_Alg.mConfig。uiWidth}, aOutput.m_pmuiImage);
但我不能图如何convers /铸TypedArray cpp数组或指针来处理。

答案(1)

陆妹妹江泽惠女士
陆妹妹江泽惠女士 2020年3月31日
我使用 Savyasachi辛格 模板 在这里 TypedArray的指针。然后我这个指针映射到一个特征矩阵的计算。这个例子就像下面。注意,使用外部c++库与c++墨西哥人API,我们需要编写一个包装器(如compute_something_with_eigen.cpp),和 操作符() 可以在内部使用这个函数。我们与外部库完成计算后,我们可以找到这个结果矩阵的指针并将其映射回TypedArray。
/ /分配输入,假设这是一个二维矩阵
TypedArray <双>矩阵= std::移动(输入[0]);
/ /使用模板我上面提到的
双* ptr = getPointer(矩阵);
/ /得到维的输入
size_tsize_input = matrix.getDimensions ();
/ /不做以下你的c++墨西哥人主要文件
MatrixXdmat_eig = Map < MatrixXd >(简称:size_input [0], size_input [1]);
/ /你的算法

s manbetx 845


释放

R2019a

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!