[思路]識別出某個人的臉
(1)妳先準備好這個人的幾張或幾十張的圖片讓程序來“學習”
(2)[程序分為兩部分]第壹部分:[學習這個人的臉]
把這些圖片逐個讀入程序,然後對每個圖片進行以下處理:
a.初步降噪:可以用cvErode或更好級別的算法來對圖像完成初步降噪(opencv這塊有幾個挺好的算法,自己是依據需求和場景來定用哪個吧)
b.用ROI或其他方法劃定出人臉區域
c.為ROI圈定的區域 建立histogram
(3)這樣妳就有了幾十個histogram,然後自己寫個算法來提取這幾十張histogram 的通用特點[也就是模糊的找到這個人的臉部特征]
(4)然後再依據提取的特征建立壹個histogram
(5)[程序第二部分]:[識別人臉]
a.從攝像頭,讀入人臉
b.初步降噪
c.ROI劃定區域
d.建立壹個histogram
e.用這個histogram與之前[學習中]的histogram進行比較,如果差異小於妳規定的閥值 ,則確定識別成功。
---------------------------------------------------------------------------------
以上功能只能做到:如果這個人出現在攝像頭前,則能認出這個人來了,如果其他人出現在攝像頭前則輸出“這個人不是要找的人”。
---------------------------------------------------------------------------------
上面的算法應該算是最簡單的啦,所以效果應該不會太好,opencv中還可以對圖像進行劃分,然後定點五官,這個方法可能更好壹些。
---------------------------------------------------------------------------------
如果妳要讓它能識別出多人,那麽思路壹樣,只不過要對每個人進行上面提到的“機器學習”的過程,也就是建立壹個自己的識別庫的過程。