OpenCv直方图对比图片的相似性

本文深入探讨了OpenCV中用于比较图片直方图的技术,包括对比标准及其应用,详细介绍了Correlation、Chi-Square、Intersection和Bhattacharyya距离四种对比方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

OpenCv直方图对比图片的相似性  




原理


  • 要比较两个直方图( H_{1} and H_{2} ), 首先必须要选择一个衡量直方图相似度的 对比标准 (d(H_{1}, H_{2})) 。

  • OpenCV 函数 compareHist 执行了具体的直方图对比的任务。该函数提供了4种对比标准来计算相似度:

    1. Correlation ( CV_COMP_CORREL )

      d(H_1,H_2) =  \frac{\sum_I (H_1(I) - \bar{H_1}) (H_2(I) - \bar{H_2})}{\sqrt{\sum_I(H_1(I) - \bar{H_1})^2 \sum_I(H_2(I) - \bar{H_2})^2}}

      其中

      \bar{H_k} =  \frac{1}{N} \sum _J H_k(J)

      N 是直方图中bin的数目。

    2. Chi-Square ( CV_COMP_CHISQR )

      d(H_1,H_2) =  \sum _I  \frac{\left(H_1(I)-H_2(I)\right)^2}{H_1(I)+H_2(I)}

    3. Intersection ( CV_COMP_INTERSECT )

      d(H_1,H_2) =  \sum _I  \min (H_1(I), H_2(I))

    4. Bhattacharyya 距离( CV_COMP_BHATTACHARYYA )

      d(H_1,H_2) =  \sqrt{1 - \frac{1}{\sqrt{\bar{H_1} \bar{H_2} N^2}} \sum_I \sqrt{H_1(I) \cdot H_2(I)}}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值