跳到主要內容

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,我也還在嘗試,應該會有些新的解決方案吧!

留言

熱門文章

差不多食譜:萬聖節的蛋白霜幽靈們 Halloween Meringue Ghosts

說到十月,月底的萬聖節肯定是驚嚇指數最高的一天,到處飄忽的幽靈們更是西洋鬼節的主角。不甘心這天總是被 Trick-or-Treat(不給糖就搗蛋)威脅,差不多食譜今年要開始來反擊,邀請大家來當 Ghostbusters 魔鬼剋星,將這群調皮搗蛋的幽靈們一網打盡。 抓鬼的先決條件就是⋯⋯得有些幽靈鬼怪來抓。這可是練習擠花的好時機,因為幽靈本來就是奇形怪狀的,什麼樣的怪樣子都不奇怪,太精緻反而有點奇怪呢!做好直送嘴巴「喀嚓」,看它還敢不敢來 Trick-or-Treat!

差不多食譜:蜂蜜烤南瓜 Roasted Pumpkin with Honey

還記得差不多食譜分享過用煎的南瓜吧!那是屬於家常菜的做法,現在差不多食譜推出另外一種做法,淋上蜂蜜,用烤箱加上精緻的裝飾,讓家常菜變身成為派對食物。相信當你端出這盤「蜂蜜烤南瓜」時,肯定會吸引不少眼球的注意。

金門。毋忘在莒勒石 “Wu Wang Zai Jyu” Inscription

金門有塊石頭,不去看看感覺怪怪的,看了又覺得實在沒什麼。聰明的你應該猜到了,就是那塊出現在教科書裡頭的「毋忘在莒」,金門的象徵。印象中,刻著「毋忘在莒」的那塊大石頭旁邊光禿禿的。或許從小學畢業二十多年後,我頭一次有機會來拜見這塊石頭,旁的小樹苗已經長成這副模樣了吧!再過幾年,恐怕要在林蔭中尋找「毋忘在莒」這四個字。但真要問起「毋忘在莒」這四個字是什麼意思,我相信不少人需要稍微想一下。