反向投影

反向投影

计算流程

  • 设有原灰度图像矩阵img:
  	  1    2    3    4
	  5    6    7    7
	  9    8    0    1
	  5    6    7    6
  • 将灰度值划分为如下四个区间:
    [0,2] [3,5] [6,8] [9,11]

  • 直方图的范围–> 0,11

  • 得到这个图像矩阵的直方图hist= 4 4 6 2

  • 接下来计算反向投影矩阵:

  • 反向投影矩阵的大小和原灰度图像矩阵的大小相同!

  • 原图像中坐标为(0,0)的灰度值为1,1位于区间[0,2] 中,区间[0,2] 对应的直方图值为4,所以反向投影矩阵中中坐标为(0,0)的值记为4

  • 按上面的计算方法,可以得到Image的直方图反向投影矩阵为:

  4    4    4    4
  4    6    6    6
  2    2    4    4
  4    6    6    6
  • 实际上是原图像的256个灰度值被置为很少的几个值了,具体有几个值,要看把0~255划分为多少个区间****(bin)!有多少个bin,就有多个值

  • 反向投影矩阵中某点的值就是它对应的原图像中的点所在区间的灰度直方图值。所以我们可以看出,一个区间点越多,在反向投影矩阵中就越亮。

  • 那么怎么理解反向投影矩阵中的“反向”二字呢?从这个过程可以看出,我们是先求出原图像的直方图,再由直方图得到反向投影矩阵,由直方图到反向投影矩阵实际上就是一个反向的过程,所以叫反向。

  • 通过图像的反向投影矩阵,我们实际上把原图像简单化了,简单化的过程实际上就是提取出图像的某个特征。所以以后我们可以用这个特征来对比两幅图,如果两幅图的反向投影矩阵相似或相同,那么我们就可以判定这两幅图这个特征是相同的。那么怎么对比相似度呢,可以通过campareHist

代码实现


//===============================================================
//FileName:
//          clacBackProject.cpp
//Date:
//          2019/11/27
//Author:
//          khoing(https://blog.csdn.net/qq_45391763)
//===============================================================

#include <opencv2/opencv.hpp>

using namespace cv;
using namespace std;

Mat g_srcImage; Mat g_hsvImage
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值