我正在使用C / C ++编码在Centos中使用OpenCV开发图像处理应用程序。我的目的是为Linux和IOS(IPAD)提供单一的开发平台。 因此,如果我在安装了OpenCV的Linux环境中开始开发(在C / CPP中),我可以在IOS中使用相同的代码而无需使用Objective-C吗?我不想为IOS和Linux付出双重努力,那么如何实现呢?
答案 0 :(得分:1)
It looks like这是可能的。在iOS上编译和运行C / C ++没有问题,但是你需要一些Objective-C用于UI。当您关注模块的分层/抽象时,您应该能够在平台之间共享大部分/全部核心代码。
答案 1 :(得分:1)
请参阅我对这个问题的详细答案:
iOS:Retrieve rectangle shaped image from the background image
如果您将用户界面代码分开,基本上您可以将大部分CPP代码保存在平台之间。在iOS上,所有的UI都应该是纯粹的Objective-C,而你的openCV图像处理可以是纯C ++(在linux上也是如此)。在iOS上,你将创建一个瘦的ObjC ++包装类,它在Objective-C端和C ++端之间进行调解。它真正做的就是在它们之间转换图像格式,并将数据发送到C ++中以进行处理。
我在github上有几个简单的例子你可能想看看:OpenCVSquares和OpenCVStitch。这些基于使用openCV分发的C ++示例 - 您应该将这些项目中的C ++与原始示例进行比较,以查看需要多少更改(提示:不多)。