【发布时间】:2011-06-17 15:29:36
【问题描述】:
我打算写一个有很多图像识别处理的移动应用程序(iOS 和 Android)。
用 C 或 C++ 编写图像识别代码以便在两个平台上重用它是一个好的解决方案吗?
是否会有很多特定于平台的 C/C++ 代码导致编写和维护不合理?
注意:这个应用程序是基于图像识别的,代码的最大部分是图像识别。
【问题讨论】:
标签: android c ios cross-platform android-ndk
我打算写一个有很多图像识别处理的移动应用程序(iOS 和 Android)。
用 C 或 C++ 编写图像识别代码以便在两个平台上重用它是一个好的解决方案吗?
是否会有很多特定于平台的 C/C++ 代码导致编写和维护不合理?
注意:这个应用程序是基于图像识别的,代码的最大部分是图像识别。
【问题讨论】:
标签: android c ios cross-platform android-ndk
我会说是的。这是我认为 Android-NDK 最适合使用的类型,而且由于直接 C 可以从 OBJ-C 很好地编译,因此两个平台之间可能会重用大量代码。
【讨论】:
尝试查看OpenCV 库。它是一个“实时计算机视觉编程函数库”,包含大量用于图像处理和识别的优化代码。
OpenCV 库很容易在源代码中支持 Android-NDK,here are the instructions 用于编译适用于 Android 的 OpenCV 库并在您的应用程序中使用它。
还有一个OpenCV - iOS 项目,它提供XCode 项目文件来为iPhone 和iPad 构建OpenCV。
【讨论】:
我无法透露您的图像识别库的具体细节,但我可以告诉您,几乎所有适用于 Android 的实际 API 都使用 Java,所有 Cocoa touch 都使用 ObjC。这可能不仅仅是您的库的问题,但是一旦您需要挂钩任何现有的 API,您就会想要编写 Java 或 ObjC。
【讨论】: