OpenCV iOS(一) ——安裝

首先介紹一下OpenCV吧棋凳,OpenCV為基于BSD許可(開源)發(fā)行的跨平臺計(jì)算機(jī)視覺庫诫咱,可運(yùn)行在Linux莫辨、Windows和Mac OS上抒寂。它輕量級而且高效结啼,提供了Python、Ruby屈芜、MATLAB等語言接口郊愧,實(shí)現(xiàn)了圖像處理和計(jì)算機(jī)視覺方面的很多通用算法。

安裝

OpenCV安裝的方式有三種:

使用官方的framework

去官網(wǎng)下載https://opencv.org/releases.html 井佑,我下載的最新的3.3.1属铁,后續(xù)的例子都是使用此版本進(jìn)行開發(fā)。

使用CocoaPods安裝

在podfile中加入pod 'OpenCV-iOS'躬翁,然后運(yùn)行pod install就行焦蘑。

下載源代碼編譯

自己去https://github.com/opencv/opencv?下載源碼編譯,這種方式太麻煩了盒发。


使用 OpenCV

首先把下載好的opencv2.framework添加進(jìn)工程中例嘱,并添加上依賴庫。

libc++.tbd

AVFoundation.framework

CoreImage.framework

CoreGraphics.framework

QuartzCore.framework

Accelerate.framework

添加完依賴庫后我們就正式開始了宁舰,因?yàn)镺penCV是C++寫的拼卵,所以引入項(xiàng)目中的文件需要使用Object-C++的兼容方式來寫,具體的做法就是將需要導(dǎo)入OpenCV頭文件的m文件改成mm文件蛮艰。


修改m文件為mm文件


下面要正式添加代碼了腋腮,在這個例子中我們可以給圖片加一個黑白反向的濾鏡。

第一步是在我們修改成的mm的文件中導(dǎo)入OpenCV的庫印荔。

#import <opencv2/opencv.hpp>

#import <opencv2/imgcodecs/ios.h>

using namespace cv;

然后添加一個UIImageView作為顯示內(nèi)容低葫。

@interface ImageGrayViewController ()

@property (weak, nonatomic) IBOutlet UIImageView *imageView;

@end

在點(diǎn)擊按鈕里面加上圖片進(jìn)行黑白反轉(zhuǎn)的代碼。

Mat mat_src;

//將UIImage轉(zhuǎn)成Mat

UIImageToMat(self.imageView.image, mat_src);

Mat mat_dst;

//首先將圖片由RGBA轉(zhuǎn)成GRAY

cvtColor(mat_src, mat_dst, COLOR_BGRA2GRAY);

//將處理后的圖片轉(zhuǎn)成可以顯示的圖片

cvtColor(mat_dst, mat_src, COLOR_GRAY2BGR);

self.imageView.image = MatToUIImage(mat_src);

其中Mat是矩陣對象仍律,在OpenCV中一張圖片信息在C++中使用Mat對象來進(jìn)行存儲嘿悬,而在C語言中則使用IplImage指針來存儲,cvtColor就是就是圖片的內(nèi)容進(jìn)行指定格式的復(fù)制水泉。

加上以上代碼后善涨,運(yùn)行后的圖片就會出現(xiàn)下面的效果了窒盐。


運(yùn)行后的效果圖
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市钢拧,隨后出現(xiàn)的幾起案子蟹漓,更是在濱河造成了極大的恐慌,老刑警劉巖源内,帶你破解...
    沈念sama閱讀 217,826評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件葡粒,死亡現(xiàn)場離奇詭異,居然都是意外死亡膜钓,警方通過查閱死者的電腦和手機(jī)嗽交,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,968評論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來颂斜,“玉大人夫壁,你說我怎么就攤上這事∥执” “怎么了盒让?”我有些...
    開封第一講書人閱讀 164,234評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長司蔬。 經(jīng)常有香客問我邑茄,道長,這世上最難降的妖魔是什么葱她? 我笑而不...
    開封第一講書人閱讀 58,562評論 1 293
  • 正文 為了忘掉前任撩扒,我火速辦了婚禮似扔,結(jié)果婚禮上吨些,老公的妹妹穿的比我還像新娘。我一直安慰自己炒辉,他們只是感情好豪墅,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,611評論 6 392
  • 文/花漫 我一把揭開白布讳嘱。 她就那樣靜靜地躺著阳藻,像睡著了一般蔬蕊。 火紅的嫁衣襯著肌膚如雪翰撑。 梳的紋絲不亂的頭發(fā)上入挣,一...
    開封第一講書人閱讀 51,482評論 1 302
  • 那天刻肄,我揣著相機(jī)與錄音公荧,去河邊找鬼叔遂。 笑死憋飞,一個胖子當(dāng)著我的面吹牛霎苗,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播榛做,決...
    沈念sama閱讀 40,271評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼唁盏,長吁一口氣:“原來是場噩夢啊……” “哼内狸!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起厘擂,我...
    開封第一講書人閱讀 39,166評論 0 276
  • 序言:老撾萬榮一對情侶失蹤昆淡,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后刽严,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體昂灵,經(jīng)...
    沈念sama閱讀 45,608評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,814評論 3 336
  • 正文 我和宋清朗相戀三年舞萄,在試婚紗的時候發(fā)現(xiàn)自己被綠了倔既。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,926評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡鹏氧,死狀恐怖渤涌,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情把还,我是刑警寧澤实蓬,帶...
    沈念sama閱讀 35,644評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站吊履,受9級特大地震影響安皱,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜艇炎,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,249評論 3 329
  • 文/蒙蒙 一酌伊、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧缀踪,春花似錦居砖、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,866評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至唇敞,卻和暖如春蔗草,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背疆柔。 一陣腳步聲響...
    開封第一講書人閱讀 32,991評論 1 269
  • 我被黑心中介騙來泰國打工咒精, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人旷档。 一個月前我還...
    沈念sama閱讀 48,063評論 3 370
  • 正文 我出身青樓模叙,卻偏偏與公主長得像,于是被迫代替她去往敵國和親彬犯。 傳聞我的和親對象是個殘疾皇子向楼,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,871評論 2 354

推薦閱讀更多精彩內(nèi)容