2017-05-05 46 views
4

我寫了一些OpenCV的代碼在Xcode中,但是當我編譯,2種方法得到了連接失敗,失敗:UIImageToMatMatToUIImageOpenCV的UIImageToMat連接在Xcode

我用opencv2.framework(來自OpenCV的網站,爲iOS 3.1版)它工作的很好,然後我在我的項目中使用了cocoapods並集成了opencv 3.1.1,所有代碼的工作方式都是一樣的,除了這兩個函數導致鏈接器失敗。我不明白爲什麼他們不工作,當我刪除#include "opencv2/imgcodecs/ios.h"它說函數不存在(而不是鏈接器失敗)。

有誰知道如何解決這個問題?謝謝

回答

5

我能解決它。

Cocoapods中的OpenCV 3.1.1有#include "opencv2/imgcodecs/ios.h"但它沒有包含實現(這是我得到鏈接器失敗的原因,因爲頭沒有將函數鏈接到任何地方),只是聲明這些功能,如在這裏看到:https://github.com/opencv/opencv/blob/master/modules/imgcodecs/include/opencv2/imgcodecs/ios.h

爲了解決這個問題,在我包括這個頭文件中的類,我加入這裏找到那些2種功能的實現:https://github.com/opencv/opencv/blob/master/modules/imgcodecs/src/ios_conversions.mm

它工作得很好,我想這是獲得UIImageToMatMatToUIImage工作在OpenCV 3.1.1(和3.2以及)窗格上的最簡單的解決方案。