This page looks plain and unstyled because you're using a non-standard compliant browser. To see it in its best form, please visit upgrade to a browser that supports web standards. It's free and painless.

Fillano's Learning Notes 會員登入 會員註冊

原文:用php做圖片臉部偵測

這是自己在ithelp網站上分享的文章,想一想如果需要在圖片上針對臉部特徵做一些處理的話,可以做參考,所以在這裡提一下,不另外寫文章了。

之前想要熟悉一下PHP Extension的開發,剛好看到LightCloud,他是基於另外一個專案Tokyo Tyrant,Tokyo Tyrant的底層則是一個高速Key-Value pair資料庫,叫做Tokyo Cabinet。TokyoTyrant已經有不少專案支援,包括純php以及extension,但是Tokyo Cabinet似乎還沒有,所以就拿他來開刀。

結果在這裡:http://www.fillano.idv.tw/tokyocabinet3-0.1.src.tar.gz

其實我之前是根據TokyoCabinet 1.4.X的TCADB這個介面來開發,不過最近都在使用Ubuntu,他安裝的套件是1.3.X版本的,之前許多功能不能使用...所以就先把他改成與1.3.X相容,也稍微調整一下程式碼再釋出。

這個Extension主要是提供幾個東西:TokyoCabinet的Hash及B+ Tree格式的資料庫檔案及Hash的記憶體資料庫的支援,可以開啟(如果apache有讀寫權限,那檔案不存在時會產生檔案)、寫入、查詢、讀出等功能。另外雖然可以支援記憶體資料庫,但是用php extension的方式使用不太有意義,我當初寫這個extension除了練習之外,還順便拿來做檔案資料庫來測試使用。

要安裝,必須先安裝php的developer功能,解開檔案後,在目錄中執行phpize,然後./configure -> make -> make install等。mytest目錄中有兩個php檔案可以用來做測試。當然,在安裝前要先裝好tokyocabinet。

Tokyo Cabinet的key與value都是binary safe的,而且不限長度,所以拿來存放大檔案來做streaming也許是個不錯的用法。

因為是習作,所以歡迎指教囉,有些地方其實不太確定就硬上了,心有點虛......


2010-1-22 17:22 補充

除了透過memcached的協定來存取TokyoTyrant,PECL上面已經有extension支援TokyoTyrant,作者還在持續更新中:
http://pecl.php.net/package/tokyo_tyrant
開發的主站在github:
http://github.com/mkoppanen/php-tokyo_tyrant
作者的blog有不少好物:
http://valokuva.org/

ECMA-262 Edition5在去年(2009)十二月通過成為新的javascript標準,最近看到一篇(其實就是node.js)blog文章 "ECMA 5/Mozilla Features Implemented in V8" 提到Chrome瀏覽器目前對於新標準的支援,其中有getter及setter,所以就來嘗試一下囉。

 (閱讀全文)