Just My Life & My Work

Posts tagged ‘teach’

[iOS] 存取plist檔

什麼是plist?全名為property list,在所有的資料儲存方法中,最容易莫過於Property List了,陣列、字典、字串和資料都可以存成XML格式的Property List,事實上,NSUserDefaults就是一個Property List。

不過並非所有的資料都適合用它來儲存,像是過多的資料或是自己設計的一些複雜物件都不太適合,因為Property List會一次將整個文件內容讀取到記憶體中,無論效率上或是空間上都不是很理想。

使用plist存取檔案有什麼特色?

  • Property list 可以為 binary 格式或 XML 格式
  • plist 檔案可用一般文字編輯器做修改或 property list editor 做修改
  • NSArray、NSDictionary 都有方法能直接將內容以 XML plist 的格式記錄於檔案
  • property list object 也就是 plist 結構支援的物件型態
資料型態 XML 元素 Foundation framework 類別
array <array> NSArray
dictionary <dict> NSDictionary
string <string> NSString
data <data> NSData
date <date> NSDate
number – integer <integer> NSNumber(intValue)
number – floating point <real> NSNumber(intFloat)
Boolean <true/>或<false/> NSNumber(boolValue)

(繼續閱讀…)

[iOS] 影像轉場動畫

我想要讓影像有轉場動畫的效果,如此使用者體驗會更加舒適。之前查到的方法都是用UIView,這個方法用UIImageView才是我要的,讓我不用UIView包UIImageView。House Book這張圖會拿來放相片,A相片轉換到B相片時我想要淡出和淡入,該怎麼做呢?

housebook uiimageview round corner (繼續閱讀…)

[iOS] 視圖圓角

四角的影像讓我覺得不友善,於是讓尖角變成圓角,感覺起來就舒服多了~如下這用UIImageView製作的HouseBook四個九十度角變成圓角囉!

housebook uiimageview round corner (繼續閱讀…)

[iOS] NSDate

原本以為獲取日期和時間的方法很簡單,沒想到它是如此深奧,我查詢一些跟NSDate相關的API用法,只要掌握幾個簡單的原則,就可運用自如。像是由 NSDate 轉換為 NSString,和由 NSString 轉換為 NSDate

(繼續閱讀…)

[OpenCV] 結構相似性 (Structural SIMilarity)

在瞭解結構相似性 (Structural SIMilarity)後,接下來就是驗證它的效果~我使用和峰值信號雜訊比 (Peak Signal to Noise Ratio)同樣的影像來示範。

landscape

(繼續閱讀…)

[OpenCV] 峰值信號雜訊比 (Peak Signal to Noise Ratio)

在瞭解峰值信號雜訊比 (Peak Signal to Noise Ratio)定義之後,接下來當然就來驗證它的威力~

在此我特地找了png檔(無損壓縮)的影像,用nEOiMAGING影像處理軟體,將它另存為jpg檔(有損壓縮)的影像,其中jpg又有分壓縮品質。用肉眼也許看不太出來其中的差異,然而卻很容易從檔案大小看出端倪,壓縮品質越差,檔案大小越小。

landscape

原始影像png:314KB

(繼續閱讀…)

[OpenCV] 轉換色彩空間失真 (Transform Color Space Distortion)

我以為透過OpenCV轉換色彩空間,可以很輕易地來回轉換,而且不會有失真的問題。然而後來我知道,轉換色彩空間會有計算上精準度的問題(小問題),除此之外我又發現一個更容易失真的問題(大問題),其實對程式設計師而言相當容易發現才是,也就是:轉換色彩空間一個函式儲存影像一個函式,後者失真程度遠大於前者!怎麼會這樣子呢?來看一下實驗結果……

(繼續閱讀…)

[C/C++] 程式碼換行 (Code Newline)

剛學姊問我程式碼太長的話,要怎麼斷行接下去,才能編譯成功。其實非常簡單,只要在行尾多加「\」這個符號即可!而且不會影響程式執行結果。

直接來看程式碼就瞭解~

廣告
(繼續閱讀…)

[OpenCV] SVM 實驗2

SVM實驗後,接著實驗高階的SVM。首先還是要瞭解支持向量機器 (Support Vector Machine)非線性支持向量機器 (Non-linear SVMs),先前的SVM實驗也可以參考。

(繼續閱讀…)

[OpenCV] SVM 實驗

剛把OpenCV更新到2.4.3版,來試驗一下它的SVM好不好用。首先當然要瞭解支持向量機器 (Support Vector Machine)非線性支持向量機器 (Non-linear SVMs),先前的SVM實驗也可以參考。

支持向量機(Support Vector Machine, SVM)是一種監督式學習的方法,一般是應用於分類(Classification/supervised learning)等相關議題上。SVM 基本運作模式如下:在給定一群訓練樣本之下,每個樣本會分別對應至兩個不同的類別(Category),SVM 會嘗試從建構一個模型(Model),並利用此模型將每一個樣本分配到一個類別上。

(繼續閱讀…)

標籤雲