跳到主要內容

Processing + OpenCV 的特徵提取(blob detection)試驗


processing

在「【跟著我的閱讀腳步】數據可視化之美」我曾經提到,Processing真的是視覺化的好幫手,語法簡單,範例與支援的函數庫多,再加上龐大的使用群,在google上隨便都能找到許多好玩的應用。現在,我要利用Processing來處理一些簡單的特徵提取(blob detection)工作。


這項工作的需求來自於我妹打算要做的研究。研究內容暫時不談,不過要看的是動作上的差異。一個方法是在畫面上打格子,然後算格子數的差異。這個我已經用Xuggler將影片解碼,在畫格上畫上格子後重新編碼的方式實現。但是算格子還是有點麻煩,所以我們更進一部,試試有沒有自動化的方式對影片中的動作做簡單的偵測。就在這個時候找到了Processing + OpenCV的應用。

Processing可以從這裡取得,而Processing的OpenCV支援則可以從這邊下載。如果你也使用Mac的話,Processing應該是抓下dmg後,將應用程式拖到Applications或你習慣的應用程式資料夾中,就可以直接用了。OpenCV則要先安裝OpenCV framework,再下載OpenCV Processing Library,放到Processing的libraries資料夾裡面後,才能夠開始使用。OPENCV Processing and Java Library中有詳細的說明。

要開始Processing只要從void setup() { }和void draw() { }下手即可。在setup()中設定初始化的設定數值,在draw()裡頭加入要進行渲染(render)的內容。

接著我開始了兩個試驗,一個是簡單的臉部偵測(face detection)。OpenCV的範例中就有直接的應用,而我在這個例子中加上了帽子和生日蛋糕,變成簡單的慶生畫面。

face_detection_2

face_detection_1

這個例子裡面,只用了detect()的個方法就搞定了。再算一下帽子和蛋糕所在位置的比例就完成了。好玩的是,用畫的笑臉也可以辨識,看來OpenCV所訓練的檔案泛用性還滿高的。

第二個則是針對影片去做特徵提取(blob detection),我找了一個有白色背景的太極拳的影片來試試。

blob_dection_1

blob_dection_2

特徵提取在OpenCV裡面也相當簡單,依循着Blob物件的範例就可以搞定大部份的事情。只要再畫上框框,偵測最左邊和最右邊的點即可。但我對結果不是很滿意,可能還得調整一下影像差異的參數才行。

在這兩個試驗之後,我也開始玩其他的例子。比方說改寫Generative Gestaltung這本書(德文的,看不懂)裡面的範例P_4_3_2_01,把蓮花改成心經版的。

lotus_text

這些例子都只要少許的努力就可以完成。只不過Processing並非沒有缺點,有些經常使用的經典libraries有點過時了。例如processing.video呼叫的是QTJava,Apple已經宣佈它過時了,而且只能使用32-bit的模式去跑。這對Snow Leopard或Lion這類64-bit的使用者來說,犧牲了不少效能。但使用Processing來呈現視覺化,節省了太多開發時間,或許這也是目前仍有許多人運用Processing的原因。好吧!對我而言確實是這樣,起碼呼叫webcam方便多了。至於其他的libraries,我也還在嘗試,應該會有些新的解決方案吧!

留言

熱門文章

差不多食譜:蘆筍舒芙蕾 Asparagus Soufflé

舒芙蕾是由具備各式風味的底醬 (crème anglaise,有時也會看到卡仕達、奶黃醬等翻譯) ,加上由蛋白打發的蛋白霜而成的。主要的味道與變化就在那個底醬,最基本的就是蛋黃和牛奶的混合物,也就是卡仕達 (custard) 。想要甜的,就用糖、果汁、或其他甜味劑讓它做成甜的;要有顏色,可以用藍莓 (紫色) 、巧克力 (咖啡色) 、草莓 (粉紅色) 等去做變化。這次差不多食譜要做的是一款鹹的、具有乳酪風味的綠色舒芙蕾,主要的材料就是夏天盛產的蘆筍。

「抓烏龜」的麻將遊戲

今天要和大家分享一個打發時間的簡單遊戲——抓烏龜。這可是我老爸老媽特別從美國學回來的,是個名符其實的「海歸」遊戲,據說是在下雪時無聊打發時間用的。

差不多食譜:手工巧克力餅乾 Chocolate Cookies

又是手工餅乾,最近一連出了兩份餅乾食譜,這個「手工巧克力餅乾」已經是第三份了。會不會有更多呢?我可以告訴大家,這是肯定的。 要怪就怪這個陰鬱的冬季雨天,哪裡都不方便去,也懶得出去。餅乾櫃空在那邊已經很久了,雖然有時候會嘴饞,但也沒有迫切去補貨的必要。反正經常開伙,平常該有的材料都會有,自己弄個成分完全透明的零食,也是個不錯的選擇。再說,用烤箱進行烘焙時,房間會變得比較乾燥,也比較溫暖。在夏天是個折磨,但到了冬天,這種感覺還滿不錯的。 話不多說,開始進行這一道「手工巧克力餅乾」的準備工作。