支持 C/C++ 代码生成 (MATLAB) 的函数等效于“bwareaopen”和“bwconhull”

Posted

技术标签:

【中文标题】支持 C/C++ 代码生成 (MATLAB) 的函数等效于“bwareaopen”和“bwconhull”【英文标题】:Function/s equivalent to "bwareaopen" and "bwconhull" supported for C / C++ code generation (MATLAB) 【发布时间】:2015-04-07 05:17:18 【问题描述】:

这是参考Image Analyst given here 建议的代码。我正在尝试为该算法生成 C 代码。根据文档"Functions and Objects Supported for C and C++ Code Generation",MATLAB 函数 bwconhull 和 bwareaopen 不容易支持 C / C++ 代码生成。我可以使用哪些替代功能?

【问题讨论】:

【参考方案1】:

正如您所说,不直接支持“bwconnhull”和“bwareaopen”,但有许多可用的基本形态函数。不幸的是,使用较小的函数子集(例如 bwperim、bwselect、bwtraceboundary 和 bwmorph)重新创建这两个例程需要一些工作。我相信这实际上是可能的,但实现将在一定程度上取决于您的代码中使用例程的准确程度。

Gonzales 和 Woods (http://www.amazon.com/Digital-Image-Processing-3rd-Edition/dp/013168728X) 中给出了形态学操作及其相互关系的良好指南。在我的旧版本中,它位于形态学下的第 8 章中,但我认为它位于新版本的第 9 章中。

遗憾的是,我知道没有直接替代品,您最终会编写新的替代品并在您的应用程序中对其进行测试。从好的方面来说,形态学操作得到了很好的解释和定义,它们以一种优雅的方式相互关联,因此您应该拥有其他功能所需的所有工具。

【讨论】:

是的,我读过这本书,我同意这是可能的。考虑到我必须坚持的项目的最后期限,使用基本形态函数编写整个算法似乎并不可行。叹。一开始我并不知道 Mathworks 只支持 MATLAB 函数的一个子集来生成代码!

以上是关于支持 C/C++ 代码生成 (MATLAB) 的函数等效于“bwareaopen”和“bwconhull”的主要内容,如果未能解决你的问题,请参考以下文章

是否可以通过在 matlab 中调用 c/c++ 代码来加速 matlab 绘图?

使用 Matlab Coder 将 Matlab m 文件转换为 C/C++ 代码,包括 mex 文件 (mxArray)

MATLAB 代码和 C/C++ 集成中的致命错误

在 Matlab 中安装 C 编译器

C++调用matlab数学函数问题

Lua