2019-8-15 opencv图像处理10-直方图4(反向投影Backprojection )-找感兴趣部分/图像分割

直方图反向投影是图像处理中的一个技术,用于图像分割和寻找感兴趣区域。通过计算输入图像与目标图像的直方图比例,得到概率图像,并通过卷积和阈值设定来突出目标对象。该方法常与camshift算法结合使用,特别是在颜色直方图中,以提高目标识别的准确性。
摘要由CSDN通过智能技术生成

官网参见 https://docs.opencv.org/3.4.1/dc/df6/tutorial_py_histogram_backprojection.html

直方图反向投影是由Michael J. Swain和Dana H. Ballard在《Indexing via color histograms》中提出的。

那么它是什么呢?它被用于图像分割或者找到图像中感兴趣的部分。

简单来说,它会输出和输入图像同样大小的图像(单通道)。输出图像上的每个像素表示输入图像上对应像素属于目标对象的概率。

再简单一点说,输出图像上,我们感兴趣目标对象会比其他部分更加白。这是一个非常直观的解释。

直方图投影通常和camshift算法一起使用。

那么如何实现反向投影呢?
我们为包含感兴趣对象的图像创建直方图。为了获得更好的结果,对象最好能尽量占满整个图像。直方图最好使用颜色直方图,而不是灰度直方图,因为物体的颜色比物体的灰度能更好的定义物体。

然后我们把直方图反向投影到我们的输入图像中,用于找到我们的目标。这个过程总结一下,我们先计算输入图像中的每一个像素点的像素值在直方图中对应的概率,这样可以得到一个概率图像,然后通过设置阈值,把我们感兴趣的目标最终从概率图像中显示出来。

以上解释看得不是很明白。看下面实现过程可以很好理解。

1.numpy中的算法

step1.
首先我们需要计算2个图像的颜色直方图,目标图像的直方图(M),输入图像的直方图(I)

在一堆玫瑰中找到红玫瑰

import numpy as np
import cv2 as cvfrom matplotlib import pyplot as plt

#目标图像-红玫瑰
#roi is the o
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值