Matlab编码器不支持的函数 我试图通过MATLAB编码器将一段MATLAB代码转换成C++。MATLAB编码器不支持MATLAB代码中的许多函数,如imread、imshow、normcorr2

Matlab编码器不支持的函数 我试图通过MATLAB编码器将一段MATLAB代码转换成C++。MATLAB编码器不支持MATLAB代码中的许多函数,如imread、imshow、normcorr2,c++,matlab,mex,C++,Matlab,Mex,有什么办法可以解决这个问题?是否可以用C++重写这些函数并通过MEX文件插入它们?注意:我对MATLAB的经验很少,所以我可能是在开玩笑。您向编码器提供C代码的想法是正确的,但mex不起作用。相反,您必须使用coder.ceval 另一个选项是coder.extrinsic,如果您使用它,您会告诉MATLAB编码器不要生成代码,而是调用MATLAB中的函数。如果这样做,显然需要在目标系统上安装MATLAB 对于coder.ceval,如果我提供的c代码使用了一个库(我试图在c代码中调用openc

有什么办法可以解决这个问题?是否可以用C++重写这些函数并通过MEX文件插入它们?注意:我对MATLAB的经验很少,所以我可能是在开玩笑。

您向编码器提供C代码的想法是正确的,但mex不起作用。相反,您必须使用
coder.ceval


另一个选项是
coder.extrinsic
,如果您使用它,您会告诉MATLAB编码器不要生成代码,而是调用MATLAB中的函数。如果这样做,显然需要在目标系统上安装MATLAB

对于coder.ceval,如果我提供的c代码使用了一个库(我试图在c代码中调用opencv的imread来代替Matlab的imread),那么它会工作吗?是的。您可以指定用于链接的其他库。您选择Matlab编码器是否有充分的理由。该应用程序的用户需要安装免费的matlab MCR,但无需重新实现任何内容。