36、OpenCV中更高级的直方图方法

OpenCV中更高级的直方图方法

在计算机视觉领域,直方图是一种非常重要的工具。前面介绍的内容相对基础,而本文将介绍OpenCV中一些更高级的直方图处理方法,这些方法在特定应用中极为有用。

1. 地球移动距离(Earth Mover’s Distance,EMD)

在处理直方图时,光照变化会导致颜色值发生显著偏移,虽然这种偏移通常不会改变颜色值直方图的形状,但会使颜色值的位置发生移动,从而导致之前介绍的直方图匹配方案失效。传统的直方图匹配度量方法在处理形状相似但位置有偏移的两个直方图时,可能会返回较大的差异值。因此,我们需要一种对这种偏移不太敏感的距离度量方法,地球移动距离(EMD)就是这样一种度量。

1.1 EMD原理

EMD本质上衡量的是将一个直方图形状“铲”成另一个直方图形状所需的工作量,包括将部分或整个直方图移动到新的位置。它可以在任意维度上工作。例如,完全匹配时距离为0;如果只匹配一半,就相当于“一铲子”的一半工作量;将整个直方图向右移动一步则需要一个单位的距离。

1.2 OpenCV中的EMD函数

在OpenCV中,使用 cv::EMD() 函数来计算EMD:

float cv::EMD(
  cv::InputArray  signature1,             // sz1-by-(dims+1) float array
  cv::InputArray  signature2,             // sz2-by-(dims+1) float array
  int     
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值