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

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

  • 相关阅读:
    字节
    服务器每个网站占用资源
    in exists 条件查询
    NUnit2.0详细使用方法
    敏捷方法之极限编程(XP)和 Scrum区别
    学习内容及计划
    关于查看网页源文件不显示源代码(打开的是桌面文件夹)的问题
    用JS取float型 小数点 后两位
    [转]什么是CMMI?
    六月新版微软一站式示例代码库发布 新增20个Windows示例代码
  • 原文地址:https://www.cnblogs.com/zsb517/p/2556508.html
Copyright © 2011-2022 走看看