0

我正在使用 C/C++ 编码在 Centos 中使用 OpenCV 开发图像处理应用程序。我的意图是为 Linux 和 IOS (IPAD) 提供一个单一的开发平台。因此,如果我在安装了 OpenCV(在 C/CPP 中)的 Linux 环境中开始开发,我可以在 IOS 中使用相同的代码而不使用 Objective-C 吗?我不想为IOS和Linux付出双重努力,那么如何实现呢?

4

2 回答 2

1

请参阅我对这个问题的详细回答:
iOS:从背景图像中检索矩形图像

基本上,如果您将用户界面代码分开,您可以使大部分 CPP 代码在平台之间移植。在 iOS 上,所有 UI 都应该是纯 Objective-C,而您的 openCV 图像处理可以是纯 C++(在 linux 上完全一样)。在 iOS 上,您将创建一个在 Objective-C 端和 C++ 端之间进行调解的瘦 ObjC++ 包装类。它真正做的只是在它们之间转换图像格式,并将数据送入和送出 C++ 进行处理。

我在 github 上有几个简单的例子,你可能想看看:OpenCVSquaresOpenCVStitch。这些基于与 openCV 一起分发的 C++ 示例 - 您应该将这些项目中的 C++ 与原始示例进行比较,以了解需要多少更改(提示:不多)。

于 2013-01-17T11:44:34.023 回答
1

看起来有可能。在 iOS 上编译和运行 C/C++ 没有问题,但你需要一些用于 UI 的 Objective-C。当您关注模块的分层/抽象时,您应该能够在平台之间共享大部分/所有核心代码。

于 2013-01-17T11:35:43.050 回答