在OpenCV里实现直方图反向投影算法
目标:理解二维直方图投影算法
理论
本文算法来源于Michael J. Swain , Dana H. Ballard写的论文《Indexing via color histograms》,论文分为两个部分,前面一部分详细描述了颜色直方图以及通过颜色直方图交叉来实现对象鉴别。可以实现对象背景区分、复杂场景中查找对象、不同光照条件影响等。这种方法对背景像素变换可以保持稳定性、同时对尺度变换也有一定抗干扰作用,但是无法做到尺度不变性特征。基于上述理论,两位作者发现通过该方法可以定位图像中已知物体的位置,它们把这个方法叫做直方图反向投影(Back Projection)。(https://wenku.baidu.com/view/c5613bfa770bf78a65295443.html 这里可以看到论文)
论文很长,能否用简单的一两句话总结出来呢?这个算法主要用来做图像分割或者目标对象搜索,简单地说,它创建的图像与输入图像的大小相同(但只有一个通道),其中每个像素对应于该像素属于需要查找的对象的概率。更简单地说,与剩余部分相比,感兴趣输出图像部分的对象更加白色。好吧,这是一个直观的解释。直方图反投影与camshift算法(Camshift是MeanShift算法的改进,称为连续自适应的MeanShift算法)等结合使用。
这个算法怎么样实现呢?
在OpenCV里实现直方图反向投影算法相关推荐
- OpenCV中直方图反向投影算法详解与实现
点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达本文转自:opencv学堂 一:直方图交叉 OpenCV中直方图反向 ...
- opencv python 直方图反向投影_python OpenCV学习笔记直方图反向投影的实现
本文介绍了python OpenCV学习笔记直方图反向投影的实现,分享给大家,具体如下: 它用于图像分割或寻找图像中感兴趣的对象.简单地说,它创建一个与我们的输入图像相同大小(但单通道)的图像,其中每 ...
- Mean Shift算法(2)在OpenCV上的实现目标跟踪——直方图反向投影
直方图反向投影 直方图反向投影的结果是一个概率分布图,表示一个指定图像片段出现在特定位置的概率.假设我们已经知道图像中某个物体的大致位置,就可以用概率分布图找到物体的准确位置.最可能出现的位置就是窗口 ...
- opencv进阶学习笔记7:直方图,直方图均衡化,直方图比较,直方图反向投影
基础版传送门: python3+opencv学习笔记汇总目录(适合基础入门学习) 进阶版笔记目录链接: python+opencv进阶版学习笔记目录(适合有一定基础) 直方图基础讲解: opencv学 ...
- opencv 直方图反向投影
转载至:http://www.cnblogs.com/zsb517/archive/2012/06/20/2556508.html 直方图反向投影式通过给定的直方图信息,在图像找到相应的像素分布区域, ...
- opencv 直方图_OpenCV之图像直方图反向投影
python代码: import cv2 as cv import numpy as np from matplotlib import pyplot as pltdef back_projectio ...
- Python+OpenCV:直方图反向投影(Histogram Backprojection)
Python+OpenCV:直方图反向投影(Histogram Backprojection) Algorithm in Numpy 1. First we need to calculate the ...
- OpenCV + CPP 系列(十九)直方图比较 与 直方图反向投影,投影分割
文章目录 一.直方图比较 计算公式 效果演示 二.直方图反向投影 三.投影分割 一.直方图比较 对输入的两张图像计算得到直方图H1与H2,归一化到相同的尺度空间,然后可以通过计算H1与H2的之间的距离 ...
- [python opencv 计算机视觉零基础到实战] 十五 直方图反向投影
一.学习目标 了解了直方图反向投影的一般流程 了解2D直方图的使用 如有错误欢迎指出~ 二.了解直方图反向投影 2.1 了解2D直方图 需要对直方图进行反向投影,需要使用2D直方图.2D直方图需要使用 ...
- python-opencv 图像处理基础 (五)颜色直方图+直方图均衡化+直方图比较+直方图反向投影
1.颜色直方图 #-------------------------------绘制颜色直方图------ import cv2 import numpy as np import matplotli ...
最新文章
- 关于宽字符(C++将中文文本文件的内容输出到控制台
- Android按键响应的几种方式、安卓页面的跳转、页面跳转传参、页面自动跳转、Activity(页面)的生命周期
- java将Word文件转换为html文件
- 基于Redis消息的订阅发布应用场景
- 计算机设备问题代码43,win10系统提示由于该设备有问题windows已将其停止(代码43)的修复方案...
- 计算机策略组怎么设置,怎么设置win7系统中的组策略
- Pega How To系列之一:如何在页面上动态显示/隐藏内容 ----CheneyWang
- 翻译连载 | JavaScript轻量级函数式编程-第 8 章:列表操作 |《你不知道的JS》姊妹篇
- 计算机的绝密历史——窃取的创意、专利战争和丑闻如何改变了世界……
- Word中字号和磅值的对应关系
- 报错:“export ‘default‘ (imported as ‘mui)‘ was not fount in ‘../lib/mui/js/mui-min.js‘
- 16进制转8进制(一般数据)
- Linux横向之CSK靶机攻防
- 苏教版四年级下册计算机说课稿,苏教版四年级下册语文《古诗两首》的说课稿4篇...
- Google 在搜索建议、实时搜索和本地搜索上的小改进
- netbox怎么用?
- php - php-fpm 启动报错 :Segmentation fault $php_fpm_BIN $php_opts / Gracefully shutting down php(完美解决方案)
- 汽车喇叭E-mark认证详情
- html5网站粒子时钟,Html5 canvas实现粒子时钟的示例代码
- 玩转算法面试习题列表