2011-06-17 10 views
5

Estoy planeando escribir una aplicación móvil (iOS y Android) donde hay mucho procesamiento de reconocimiento de imágenes.¿Está justificado utilizar C/C++ para el código multiplataforma iOS/Android en este caso?

¿Es una buena solución escribir el código de reconocimiento de imágenes en C o C++ para reutilizarlo en ambas plataformas?

¿Habrá un código C/C++ específico de la plataforma que haga que la escritura y el mantenimiento no se justifiquen?

Nota: Esta aplicación se basa en el reconocimiento de imágenes y la mayor parte del código es para el reconocimiento de imágenes.

Respuesta

3

Yo diría que sí. Este es el tipo de cosas en las que creo que se usa mejor el Android-NDK, y dado que el C directo compila bien con OBJ-C, podría haber una gran cantidad de código reutilizado entre las dos plataformas.

+1

Estoy de acuerdo. Este es exactamente el tipo de cosas para las que JNI fue diseñado, y usar C/C++ en iOS no es un problema ya que los objetos ObjC entienden completamente las API C y C++ también si usas tipos de archivos .mm para tu fuente ObjC. – jimkberry

0

No puedo hablar con las características específicas de su biblioteca de reconocimiento de imágenes, pero puedo decirle que casi todas las API actuales para Android están en Java y que Cocoa touch está en ObjC. Esto puede no ser un problema solo para su biblioteca, pero tan pronto como necesite conectar con cualquiera de las API existentes, querrá escribir Java u ObjC.

1

Pruebe la biblioteca OpenCV. Es una "biblioteca de funciones de programación para visión artificial en tiempo real" y contiene muchos códigos optimizados para el procesamiento y reconocimiento de imágenes.

La biblioteca OpenCV soporta fácilmente Android NDK-en la fuente, here are the instructions para compilar la biblioteca OpenCV para Android y usarlo en sus aplicaciones.

También hay un proyecto OpenCV - iOS, que proporciona archivos de proyecto XCode para compilar OpenCV para iPhone y iPad.

+0

Thx. Ya lo he comprobado y los algoritmos que necesito no están implementados en OpenCV. Pero puede ser una buena referencia para ver :) – zercvb

+0

¿Qué es exactamente lo que vas a "reconocer"? –

Cuestiones relacionadas