1 背景知識
在膚色識別算法中,常用的顏色空間為Ycbcr,Y代表亮度,cb代表藍色分量,cr代表紅色分量。
由于膚色在YCbCr 空間受亮度信息的影響較小,本算法直接考慮 YCbCr 空間的 CbCr分量,映射為兩維獨立分布的 CbCr空間。在 CbCr空間下,膚色類聚性好,利用人工閾值法將膚色與非膚色區域分開,形成二值圖像。
RGB 轉 YCbCr 的公式為:
Y = 0.257*R+0.564*G+0.098*B+16
Cb= -0.148*R-0.291*G+0.439*B+128
Cr = 0.439*R-0.368*G-0.071*B+128
對膚色進行判定的條件常使用如下判定條件:
Cb > 77 && Cb
Cr > 133 && Cr
2 zynq-7000的膚色識別實現
本節工程的建立基于《Zynq-7000電子相冊的實現》,工程創建以及arm端代碼的編寫請參考《Zynq-7000電子相冊的實現》。
2.1 膚色識別IP的介紹
2.2system 模塊圖
從總體模塊圖可以看到首先實現rgb顏色空間轉ycbcr顏色空間,其次實現膚色識別。
2.3 實驗結果
結果分析:從實驗原圖和實驗結果來看,膚色識別模塊將某些非膚色部分也識別稱膚色,這里我們需要改變的對膚色進行判定的條件:
Cb > 77 && Cb
Cr > 133 && Cr
調整cb和cr分量的閾值來達到最佳的膚色識別效果。
編輯:hfy
-
System
+關注
關注
0文章
165瀏覽量
36889 -
Zynq
+關注
關注
10文章
608瀏覽量
47129
發布評論請先 登錄
相關推薦
評論