zoukankan      html  css  js  c++  java
  • opencv 直方图反向投影

           直方图反向投影式通过给定的直方图信息,在图像找到相应的像素分布区域,opencv提供两种算法,一个是基于像素的,一个是基于块的。

    使用方法不写了,可以参考一下几个网站:

    直方图反向投影参考1

    直方图参考2

    测试例子1:灰度直方图反向投影

    灰度直方图反向投影

    效果图:

     2
    第一个图为源图像,中间的那个小图像是产生用于反向投影的直方图的图像,最后的用直方图均衡化后的结果图像,可以看到,苹果的像素位置几被找到了。

    测试例子2:彩色直方图反向投影测试

    彩色图像直方图反向投影

    测试结果:

     QQ截图20120620142552

    手的肤色位置基本找到了,但是有一个问题,在做直方图反向的时候,直方图分级是16等分,并不是256等分,下图是32等分和8等分的图像效果:

    4      32等分 5 8等分

    程序里面使用了SHV分量,也算是肤色检测的一个实例,里面的颜色区分很明显,所有采用大一点的区域统计,能更好的找到肤色的位置,如果采用很细的颜色区分,光照的影响也会考虑进去了。

    测试例子3:基于块的直方图投影

    这种方法速度很慢,模版图像别弄的太大了。

    基于块的图像直方图反向投影


    测试图像:

    当模版图像小雨目标的时候,作为区域检测器,测试如下:可以找到手区域

    6

    当模版等于目标的时候,测试如下:输出图像,较亮的部分就是人的头部大致位置

    7

    基于块的反向,速度太慢了。

  • 相关阅读:
    csu 1513 Kick the ball! 搜索
    训练赛bug总结
    csu 1780 简单的图论问题? 搜索
    贪吃蛇
    hdu 1541 Stars 树状数组
    FZU 2092 收集水晶 BFS记忆化搜索
    [ An Ac a Day ^_^ ] UVALive 2035 The Monocycle BFS
    52. N皇后 II
    修改全局变量-global 修改外部嵌套函数中的变量 nonlocal
    安装glove 不报错
  • 原文地址:https://www.cnblogs.com/zsb517/p/2556508.html
Copyright © 2011-2022 走看看