我們使用膚色直方圖為例來(lái)解釋反向投影的工作原理:
假設(shè)你已經(jīng)通過(guò)下圖得到一個(gè)膚色直方圖(Hue-Saturation), 旁邊的直方圖就是 模型直方圖 ( 代表手掌的皮膚色調(diào)).你可以通過(guò)掩碼操作來(lái)抓取手掌所在區(qū)域的直方圖:
下圖是另一張手掌圖(測(cè)試圖像) 以及對(duì)應(yīng)的整張圖像的直方圖: 
我們要做的就是使用 模型直方圖 (代表手掌的皮膚色調(diào)) 來(lái)檢測(cè)測(cè)試圖像中的皮膚區(qū)域。以下是檢測(cè)的步驟:
對(duì)測(cè)試圖像中的每個(gè)像素 (
),獲取色調(diào)數(shù)據(jù)并找到該色調(diào)(
)在直方圖中的bin的位置。
查詢 模型直方圖 中對(duì)應(yīng)的bin -
- 并讀取該bin的數(shù)值。
將此數(shù)值儲(chǔ)存在新的圖像中(BackProjection)。 你也可以先歸一化 模型直方圖 ,這樣測(cè)試圖像的輸出就可以在屏幕顯示了。
通過(guò)對(duì)測(cè)試圖像中的每個(gè)像素采用以上步驟, 我們得到了下面的 BackProjection 結(jié)果圖:

裝載圖像
轉(zhuǎn)換原圖像到 HSV 格式,再分離出 Hue 通道來(lái)建立直方圖 (使用 OpenCV 函數(shù) mixChannels)
讓用戶輸入建立直方圖所需的bin的數(shù)目。計(jì)算同一圖像的直方圖 (如果bin的數(shù)目改變則更新直方圖) 和反向投影圖。顯示反向投影圖和直方圖。
4.運(yùn)行結(jié)果


新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注