IPhone CoreImage 的介紹和使用

2021-06-08 06:06:35 字數 1617 閱讀 6150

1.coreimage的簡單介紹:        

2.coreimage的使用

2.1在ios開發中匯入coreimage.framework 框架,mac開發中coreimage包含在quartzcore.framework框架中。

2.2 coreimage使用中3個主要的類

cicontext::他與core graphics 和 opengl context類似,所有core image的處理流程都通過他來進行。

2.3 3個主要類物件的建立方法以及使用。

cicontext初始化方法:

1,,建立基於gpu的cicontext物件

context =  [cicontext contextwithoptions:nil];

2,建立基於cpu的cicontext物件

context = [cicontext contextwithoptions:[nsdictionary dictionarywithobject:[nsnumber numberwithbool:yes] forkey:kcicontextusesoftwarerenderer]];

ciimage的初始化方法:

1.通過路徑建立

ciimage *beginimage = [ciimage imagewithcontentsofurl:filenameandpath];

2 通過uiimage物件建立

ciimage *beginimage = [ciimage imagewithcgimage:aimage.cgimage];

cifilter初始化方法:

filter = [cifilter filterwithname:@"cisepiatoone"];  //指定使用的過濾器

[filter setvalue:beginimage forkey:kciinputimagekey]; //指定需要處理的

[filter setvalue:[nsnumber numberwithfloat:slidevalue] forkey:@"inputintensity"]; //指定過濾器引數

ciimage *outputimage = [filter outputimage];

cgimageref cgimg = [context  createcgimage:outputimage  forrect:[outputimage extent]];

uiimage *resultimage = [uiimage imagewithcgimage:cgimg];

cgimagerelease(cgimg);

3.關於coreimage使用的補充說明

1.cicontext採用基於gpu的物件時,效率要比cpu高很多,但是物件無法跨應用訪問。例如:在uiimagepickercontroller的委託方法中呼叫cicontext物件進行處理,系統會自動將其將為基於cpu的,速度會慢很多。必須在主類中處理才可。

2.可以通過[cifilter  filternamesincategory:kcicategorybuiltin]  獲取所有過濾器的列表。

3. 每個過濾器引數都不一樣。可以在官方文件中搜尋core image filter reference 檢視。或者通過attributes方法檢視過濾器的所有屬性。

UIApplication物件的介紹和使用

info.plist檔案,如下圖所示 對ios8做一下使用者許可,在ios7中不需要 獲取系統版本 float version uidevice currentdevice systemversion floatvalue if version 8.0 1.設定圖示右上角的數字 2.清除圖示右上角的...

Stanford NLP的介紹安裝和簡單使用

stanford nlp stanford nlp提供了一系列自然語言分析工具。它能夠給出基本的 詞形,詞性,不管是公司名還是人名等,格式化的日期,時間,量詞,並且能夠標記句子的結構,語法形式和字詞依賴,指明那些名字指向同 樣的實體,指明情緒,提取發言中的開放關係等。乙個整合的語言分析工具集 進行快...

python lambda表示式的介紹和使用

python 允許用 lambda 關鍵字創造匿名函式。匿名就意味著不需要顯式的定義,比如python定義乙個函式要以def開頭,但是我們使用lambda不需要def也能定義乙個函式。然而,作為函式,它們也能有引數。乙個完整的 lambda 語句 代表了乙個表示式,這個表示式的定義體必須和宣告放在同...