OpenCV---直方图反向投影
一:直方图反向投影的方法


二:二维直方图的表示
(一)直接显示
def hist2D_demo(image):
hsv = cv.cvtColor(image,cv.COLOR_BGR2HSV)
hist = cv.calcHist([image],[,],None,[,],[,,,])
cv.imshow("hist2D",hist)

(二)使用matplotlib
def hist2D_demo(image):
hsv = cv.cvtColor(image,cv.COLOR_BGR2HSV)
hist = cv.calcHist([image],[,],None,[,],[,,,])
plt.imshow(hist,interpolation="nearest")
plt.title("2D Histogram")
plt.show()

三:直方图反向映射
calcHist方法参数可见:OpenCV---图像直方图
def back_projection_demo():
sample = cv.imread("./s2.png")
target = cv.imread("./b.png")
roi_hsv = cv.cvtColor(sample,cv.COLOR_BGR2HSV)
tar_hsv = cv.cvtColor(target,cv.COLOR_BGR2HSV) cv.imshow("sample",sample)
cv.imshow("target",target) roihist = cv.calcHist([roi_hsv], [, ], None, [324, 356], [, , , ]) #加红部分越小,匹配越放松,匹配越全面,若是bsize值越大,则要求得越精细,越不易匹配,所以导致匹配出来的比较小
cv.normalize(roihist,roihist,,,cv.NORM_MINMAX) #规划到0-255之间
dst = cv.calcBackProject([tar_hsv],[,],roihist,[,,,],) #直方图反向投影
cv.imshow("back_projection_demo",dst)

roihist = cv.calcHist([roi_hsv], [, ], None, [32, 46], [, , , ]) #这是两个通道,bsize变少了,但是他的匹配更加广了(对于匹配的局限放宽了)

opencv 2 归一化函数normalize详解
. 归一化就是要把需要处理的数据经过处理后(通过某种算法)限制在你需要的一定范围内。 归一化函数cv2.normalize原型:normalize(src, dst[, alpha[, beta[, norm_type[, dtype[, mask]]]]]) -> dst src参数表示输入数组。 dst参数表示输出与src相同大小的数组,支持原地运算。 alpha参数表示range normalization模式的最小值。 beta参数表示range normalization模式的最大值,不用于norm normalization(范数归一化)模式。 norm_type参数表示归一化的类型。 norm_type参数可以有以下的取值: NORM_MINMAX:数组的数值被平移或缩放到一个指定的范围,线性归一化,一般较常用。 NORM_INF:归一化数组的C-范数(绝对值的最大值)。 NORM_L1 :归一化数组的L1-范数(绝对值的和)。 NORM_L2 :归一化数组的(欧几里德)L2-范数。
.反向投影用于在输入图像(通常较大)中查找特定图像(通常较小或者仅1个像素,以下将其称为模板图像)最匹配的点或者区域,也就是定位模板图像出现在输入图像的位置。 函数cv2.calcBackProject用来计算直方图反向投影。 函数原型:calcBackProject(images, channels, hist, ranges, scale[, dst]) -> dst images参数表示输入图像(是HSV图像)。传入时应该用中括号[ ]括起来。 channels参数表示用于计算反向投影的通道列表,通道数必须与直方图维度相匹配。 hist参数表示输入的模板图像直方图。 ranges参数表示直方图中每个维度bin的取值范围 (即每个维度有多少个bin)。 scale参数表示可选输出反向投影的比例因子,一般取1。
OpenCV---直方图反向投影的更多相关文章
- OpenCV2马拉松第10圈——直方图反向投影(back project)
收入囊中 灰度图像的反向投影 彩色图像的反向投影 利用反向投影做object detect 葵花宝典 什么是反向投影?事实上没有那么高大上! 在上一篇博文学到,图像能够获得自己的灰度直方图. 反向投影 ...
- opencv——图像直方图与反向投影
引言 在图像处理中,对于直方图这个概念,肯定不会陌生.但是其原理真的可以信手拈来吗? 本文篇幅有点长,在此列个目录,大家可以跳着看: 分析图像直方图的概念,以及opencv函数calcHist()对于 ...
- OpenCV——反向投影(定位模板图像在输入图像中的位置)
反向投影: #include <opencv2/opencv.hpp> #include <iostream> using namespace cv; using namesp ...
- OPENCV直方图与匹配
直方图可以用来描述不同的参数和事物,如物体的色彩分布,物体的边缘梯度模版以及目标位置的当前假设的概率分布. 直方图就是对数据进行统计的一种方法,并且将统计值定义到一系列定义好的bin(组距)中,获得一 ...
- 反向投影(BackProjection)
如果一幅图像的区域中显示的是一种结构纹理或者一个独特的物体,那么这个区域的直方图可以看作一个概率函数,他给的是某个像素属于该纹理或物体的概率. 所谓反向投影就是首先计算某一特征的直方图模型,然后使用模 ...
- OpenCV —— 直方图与匹配
直方图就是对数据进行统计,将统计值组织到一系列事先定义好的bin中.bin中的数值是从数据中计算出来的特征的统计量,这些数据可以是诸如梯度,方向,色彩或任何其他特征. 直方图获得是是数据分布的统计图 ...
- openCV 直方图统计
直方图显示 #include <opencv2/opencv.hpp> using namespace std; using namespace cv; int main(int argc ...
- OpenCV——直方图均衡化(用于图像增强)
#include <opencv2/opencv.hpp> #include <iostream> #include <math.h> using namespac ...
- opencv:直方图操作
示例程序: #include <opencv.hpp> using namespace cv; using namespace std; int main() { Mat src, dst ...
随机推荐
- LeetCode 48. Rotate Image (C++)
题目: You are given an n x n 2D matrix representing an image. Rotate the image by 90 degrees (clockwis ...
- ARP 攻击
场景 A攻击者 192.168.1.3 00:00:00:00:00:01 B受害者 192.168.1.2 00:00:00:00:00:02 C路由器 192.168.1.1 00:00:00:0 ...
- OOP 1.2 const关键字
1.2 const关键字 1.常量 指针常量 定义常量:const 类型 =值 定义指针常量:const *类型=值 常量指针不可通过常量指针修改其指向的内容 可直接修改其指向的内容 常量指针的指向可 ...
- 博弈---ZOJ 3057 Beans Game(DP博弈)
http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3057 有豆类三个桩.TT和DD挑选任意数量的豆子从任何两堆轮流任何桩或相同 ...
- POJ 2063 Investment 滚动数组+完全背包
题目链接: http://poj.org/problem?id=2063 题意: 你现在有现金m元,你要做n年的存款投资,给你k种投资方式,每种需要现金vi元,能获得xi元的理论,一年到期后你要利用拿 ...
- nginx 配置文件简介
主配置文件说明(先将注释部分去掉:sed -ri ‘/^#|[[:space:]]+#/d’ /etc/nginx/nginx.conf) (1)全局配置段 1:指明运行worker进程的用户和组 u ...
- py27使用redis
1.安装redis pip install redis 转载请注明博客出处:http://www.cnblogs.com/cjh-notes/
- 零拷贝Zero-Copy(NIO)
介绍 Java 的zero copy多在网络应用程序中使用.Java的libaries在linux和unix中支持zero copy,关键的api是java.nio.channel.FileChann ...
- Vue父组件与子组件传递事件/调用事件
1.Vue父组件向子组件传递事件/调用事件 <div id="app"> <hello list="list" ref="child ...
- 51nod-1220-约数之和
题意 求 \[ \sum _{i=1}^n\sum _{j=1}^nd(ij) \\ d(x)=\sum _{e|x}e \] \(n\le 10^9\) . 分析 没有推出来.这题有几个要点要学习. ...