C/C++ コーディングを使用して、OpenCV を使用して Centos で画像処理アプリケーションを開発しています。私の意図は、Linux と IOS (IPAD) 用の単一の開発プラットフォームを持つことです。OpenCV がインストールされた Linux 環境 (C/CPP 内) で開発を開始した場合、Objective-C を使用せずに IOS で同じコードを使用できますか? IOS と Linux に二重の努力をしたくないので、どうすればこれを達成できますか?
2 に答える
それは可能のようです。iOS で C/C++ をコンパイルして実行することは問題ありませんが、UI 用の Objective-C が必要になります。モジュールの階層化/抽象化に注意を払うと、プラットフォーム間でほとんど/すべてのコア コードを共有できるはずです。
この質問に対する私の詳細な回答を参照してください:
iOS: 背景画像から長方形の画像を取得する
基本的に、ユーザー インターフェイス コードを分離しておくと、ほとんどの CPP コードをプラットフォーム間で移植可能に保つことができます。iOS ではすべての UI を純粋な Objective-C にする必要がありますが、openCV の画像処理は純粋な C++ にすることができます (Linux でもまったく同じです)。iOS では、Objective-C 側と C++ 側の間を仲介する薄い ObjC++ ラッパー クラスを作成します。実際に行うことは、それらの間で画像形式を変換し、処理のために C++ との間でデータを送受信することだけです。
OpenCVSquaresとOpenCVStitchの github にいくつかの簡単な例があります。これらは、openCV で配布された C++ サンプルに基づいています。これらのプロジェクトの C++ を元のサンプルと比較して、どの程度の変更が必要かを確認してください (ヒント: それほど多くはありません)。