主要内容

生成对象检测的代码

此示例显示了如何使用Matlab®Coder™从使用图像处理工具箱™功能的Matlab应用程序生成C代码。该示例描述了如何设置MATLAB环境并为代码生成准备MATLAB代码。

此示例还演示了如何解决您可能在MATLAB代码中遇到的问题,以防止代码生成。为了说明该过程,此示例使用的代码包括一些准备问题,并在生成代码之前必须恢复的问题。

有关生成代码的更多信息,请参阅MATLAB编码器文档。

设置编译器

指定要与MATLAB编码器一起使用的C / C ++编译器以通过使用使用的方法来生成代码梅克斯用来的功能-设置选项。

梅克斯-设置
MEX配置为使用“Mingw64编译器(c)”为C语言编译。要选择不同的语言,请从以下选择其中一个:MEX -Setup C ++ MEX -Setup Fortran

定义入口点函数

入口点函数是MATLAB函数,用作代码生成的源代码。首先,原型在没有支持代码生成的情况下原型图像处理工作流程。金宝app此示例定义了一个调用的函数侦听米尔使用分段和形态技术进行细胞检测。此函数附加到示例作为支持文件。金宝app

使用示例图像测试示例代码,cell.tif.

我= imread('cell.tif');ISEG =侦听机(I);

通过将分段图像覆盖在原始图像上来确认分割的准确性。

imshow(Labeloverlay(i,Iseg))

因为您修改代码生成此代码,因此使用代码的副本是很好的。此示例包括辅助功能的副本侦听米尔命名为侦听机器人..M.。用于代码生成的函数的版本包括MATLAB编码器编译指令%#codegen.在函数签名结束时。该指令指示MATLAB代码分析仪诊断禁止成功代码生成的问题。

通过使用使用的MATLAB编码器应用程序编码器功能。(或者,在MATLAB中,选择“应用”选项卡,导航到代码生成,然后单击MATLAB编码器应用程序。)

编码器

指定入学点函数的名称,侦听机器人,并按进入

确定代码生成的代码准备情况

点击下一个。MATLAB编码器标识可能阻止代码生成的任何问题。示例代码包含五个不受支持的函数调用。金宝app

审查准备就绪问题。点击审查问题。在报告中,Matlab编码器在编辑窗口中显示您的代码,其中包含下面列出的准备问题,标记使用imshow.不支持代码生成的功能。金宝app

正确的准备问题

解决准备问题。删除呼叫imshow.您的示例中的相关显示代码。分段操作不需要显示语句。您可以直接在MATLAB编码器中编辑示例代码。删除代码后,单击节省保存您的编辑并重新运行准备检查。在重新定期准备检查后,Matlab编码器显示没有发现问题信息。

定义功能输入的尺寸和数据类型

必须指定对代码的每个输入都是固定大小,变量大小或常量。有几种方法可以指定输入参数的大小,但最简单的方法是给MATLAB编码器调用函数的示例。输入调用文本输入字段中函数的脚本。在此示例中,在MATLAB提示符中输入以下代码,然后按自动杂记输入类型

我= imread('cell.tif');Iseg = DetectCellScodegen(i);

有关定义输入的更多信息,请参阅MATLAB编码器文档。MATLAB编码器返回输入类型定义后,单击下一个

检查并解决运行时问题

即使您执行了MATLAB编码器准备检查,也可能在构建过程中出现其他问题,可以防止代码生成。虽然准备就会检查功能依赖性以确定准备情况,但构建过程检查编码模式。您可以使用您输入的相同代码来定义输入类型(将被预加载到对话框中)。点击检查问题

此示例包含一个构建问题:它传递了一系列str对象混合代码生成不支持对象数组。金宝app

解决已识别的构建问题。对于此示例,修改呼叫混合避免传递一系列阵列。替换单个呼叫混合有两个单独的呼叫混合在其中通过每个呼叫传递一个strel对象。

重新运行测试构建以确保更改修复了问题。点击检查问题。MATLAB编码器显示一条消息声明,没有检测到任何问题。

生成代码

您现在可以生成代码。点击下一个

选择要生成的代码类型并选择目标平台。MATLAB编码器可以生成C或C ++源代码,MEX文件,静态库,共享库或独立可执行文件。对于生产硬件,您可以选择许多选项,包括ARM和Intel处理器。

此示例使用默认选项。构建类型是源代码,语言是C。对于设备选项,请从设备供应商和设备类型的MATLAB主机指定通用设备。选择MATLAB主计算机时,MATLAB编码器会生成代码,该代码取决于预编译的共享库。图像处理工具箱功能使用共享库来保留性能优化。

点击产生

MATLAB编码器显示生成的代码。

点击下一个完成这个过程。MATLAB编码器显示有关它生成的信息。默认情况下,Matlab编码器创建一个Codegen.包含生成的输出的工作文件夹中的子文件夹。

也可以看看

(MATLAB编码器)|(MATLAB编码器)

相关话题