Porting OpenCV 2.3.1 to iPhone 3GS/4/4S

love_hot_girl發表於2020-04-07

Porting OpenCV 2.3.1 to iPhone 3GS/4/4S - 如何使用cmake+Xcode編譯OpenCV 2.3.1函式庫給iOS使用

要能在Xcode中使用OpenCV 2.3.1函式庫來實作自己的程式首要之務當然是要能建立出符合iOS使用的OpenCV 2.3.1的函式庫,如下的步驟紀錄了這個過程:
1. 下載並安裝CMakeMac OSX 64/32-bit Universal
2. 下載並解壓縮OpenCV-2.3.1a.tar.bz2
3. 執行CMake並指定Where is the source code(你的OpenCV資料夾位置)、Where to build the binaries(編譯後OpenCV函式庫要放的資料夾)以及CMAKE_INSTALL_PREFIX(安裝編譯的檔案夾),如下圖:
4. 在CMake裡面取消下列的選項:

  • BUILD_DOCS
  • BUILD_EXAMPLES
  • BUILD_NEW_PYTHON_SUPPORT,
  • BUILD_SHARED_LIBS
  • BUILD_TESTS
  • BUILD_WITH_DEBUG_INFO
  • ENABLE_SSE, WITH_EIGEN
  • WITH_OPENEXR
  • WITH_PVAPI
  • WITH_QT
  • WITH_QT_OPENGL
  • WITH_QUICKTIME

5. CMake裡面Configure選擇Xcode然後按下Generate,執行完後在你設定輸出函式庫的資料夾裡就會產生OpenCV.xcodeproj 。

6. 用Xcode開啟OpenCV.xcodeproj,將Base SDK選成iOS(我用的是iOS5.0),如圖:

7. Xcode中OpenCV Build Settings的Architectures選Standard (armv7),如圖:

8. Xcode中OpenCV Build Settings的Compiler for C/C++/Objective-C選LLVM GCC4.2,如圖:

8. Xcode中OpenCV TARGETS將opencv_highgui、 opencv_traincascade、 opencv_createsamples、 opencv_haartraining、 opencv_performance、 opencv_stitching,如圖:

9. 接著就是選擇TARGETS中的ALL_BUILD來編譯;如果沒有意外,成功編譯後在你設定編譯後OpenCV函式庫要放的資料夾中的lib資料夾下就會有所有opencv的函式庫了;最後,你還可以選擇TARGETS中的install來編譯,成功的話,在你設定安裝編譯的檔案夾中就會產生整合後的標頭檔方便你使用。

相關文章