2011-06-17 35 views
5

Tôi đang lập kế hoạch để viết một ứng dụng di động (iOS và Android), nơi có rất nhiều xử lý nhận dạng hình ảnh.Có hợp lý khi sử dụng mã C/C++ cho nền tảng nền tảng iOS/Android trong trường hợp này không?

Đây có phải là giải pháp tốt để viết mã nhận dạng hình ảnh trong C hoặc C++ để tái sử dụng nó trong cả hai nền tảng?

Sẽ có mã C/C++ cụ thể trên nền tảng làm cho việc viết và duy trì nó không được điều chỉnh?

Lưu ý: Ứng dụng này được dựa trên nhận dạng hình ảnh và phần lớn nhất của mã là để nhận dạng hình ảnh.

Trả lời

3

Tôi sẽ nói có. Đây là loại điều tôi tin rằng Android-NDK được sử dụng tốt nhất và kể từ khi C thẳng biên dịch tốt từ OBJ-C, có thể có rất nhiều mã được sử dụng lại giữa hai nền tảng.

+1

Tôi đồng ý. Đây chính xác là thứ mà JNI được thiết kế và sử dụng C/C++ trong iOS thực sự không phải là vấn đề vì các đối tượng ObjC hoàn toàn hiểu các C APIs - và C++ nếu bạn sử dụng các loại tệp .mm cho nguồn ObjC của bạn. – jimkberry

0

Tôi không thể nói chi tiết về thư viện nhận dạng hình ảnh của bạn, nhưng tôi có thể nói với bạn rằng gần như tất cả các API thực tế cho Android đều bằng Java và tất cả các liên lạc Cocoa đều có trong ObjC. Đây có thể không phải là vấn đề chỉ dành cho thư viện của bạn, nhưng ngay sau khi bạn cần nối vào bất kỳ API hiện có nào, bạn sẽ muốn viết Java hoặc ObjC.

1

Hãy thử xem thư viện OpenCV. Nó là một "thư viện các hàm lập trình cho tầm nhìn máy tính thời gian thực" và chứa rất nhiều mã được tối ưu hóa để xử lý và nhận dạng hình ảnh.

Thư viện OpenCV sẵn sàng hỗ trợ Android-NDK trong nguồn, here are the instructions để biên dịch thư viện OpenCV cho Android và sử dụng nó trong các ứng dụng của bạn.

Ngoài ra còn có dự án OpenCV - iOS, cung cấp tệp dự án XCode để xây dựng OpenCV cho iPhone và iPad.

+0

Thx. Tôi đã kiểm tra và các thuật toán tôi cần không được triển khai trong OpenCV. Nhưng nó có thể là một tài liệu tham khảo tốt để xem xét :) – zercvb

+0

chính xác những gì bạn sẽ "nhận ra"? –

Các vấn đề liên quan