2013-01-19 69 views
-1

我是新來的Matlab的,我工作的一個項目,該項目將需要輸入類似這樣 passport image with blue background檢測對象/人的圖像中

的圖像,我們可以看到它有一個簡單的背景(藍色),和系統將生成具有給定比例的護照尺寸圖像,首先我正在努力將背景和人物分開,我搜索的方法就像圖像矩陣rgb的組合中存在藍色,然後是背景,休息是人,但我有點困惑,如果這種方法是正確的,如果它是正確的,那麼我怎麼才能找到當前像素是否藍色,我怎麼能用matlab函數find來做到這一點。任何幫助,將不勝感激。

回答

2

如果您要根據人的面部以裁剪圖像,那麼在分離前景背景沒有必要。現在,您可以輕鬆找到面部檢測的準備就緒實現,因此,除非您希望實施自己的方法,因爲準備好的方法失敗了,這應該不成問題。請參閱:

Show[img, 
Graphics[{EdgeForm[{Yellow, Thick}], Opacity[0], 
    Rectangle @@@ 
    FindFaces[img = Import["http://i.stack.imgur.com/cSwzj.jpg"]]}]] 

enter image description here

假設臉部被正確檢測,可以展開/收回它的邊框以符合您所後的尺寸。

+0

兄弟你有沒有參考這個功能?或任何其他細節,因爲它不工作,它給我一些語法錯誤。 –

+0

@MuhammadMaaz http://reference.wolfram.com/mathematica/ref/FindFaces.html,確實是一個黑盒子。你會在別處找到更好描述的例程。 – mmgp

+0

兄弟我正在Matlab上工作 –