opencv 直方圖反向投影


       直方圖反向投影式通過給定的直方圖信息,在圖像找到相應的像素分布區域,opencv提供兩種算法,一個是基於像素的,一個是基於塊的。

使用方法不寫了,可以參考一下幾個網站:

直方圖反向投影參考1

直方圖參考2

 

測試例子1:灰度直方圖反向投影

灰度直方圖反向投影

效果圖:

 2
第一個圖為源圖像,中間的那個小圖像是產生用於反向投影的直方圖的圖像,最后的用直方圖均衡化后的結果圖像,可以看到,蘋果的像素位置幾被找到了。

 

測試例子2:彩色直方圖反向投影測試

彩色圖像直方圖反向投影

測試結果:

 QQ截圖20120620142552

手的膚色位置基本找到了,但是有一個問題,在做直方圖反向的時候,直方圖分級是16等分,並不是256等分,下圖是32等分和8等分的圖像效果:

4      32等分 5 8等分

程序里面使用了SHV分量,也算是膚色檢測的一個實例,里面的顏色區分很明顯,所有采用大一點的區域統計,能更好的找到膚色的位置,如果采用很細的顏色區分,光照的影響也會考慮進去了。

測試例子3:基於塊的直方圖投影

這種方法速度很慢,模版圖像別弄的太大了。

基於塊的圖像直方圖反向投影


測試圖像:

當模版圖像小雨目標的時候,作為區域檢測器,測試如下:可以找到手區域

6

當模版等於目標的時候,測試如下:輸出圖像,較亮的部分就是人的頭部大致位置

7

基於塊的反向,速度太慢了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM