Python3与OpenCV3.3 图像处理(十三)--反射投影

一、什么是反射投影

简单的说就是通过给定的直方图信息,在图像找到相应的像素分布区域

二、反射投影的应用

物体跟踪、定位物体等


三、示例代码

import cv2 as cv
import numpy as np
from matplotlib import  pyplot as plt


def hist2d(image):
    """2d 直方图计算和现实"""
    #转换为hsv色彩空间
    hsv=cv.cvtColor(image,cv.COLOR_BGR2HSV)
    #[180,256] bins 越多对每个像素细分的越厉害,会导致反响直方图的碎片化
    #[0,180,0,256]:hsv色彩空间中 h和s的取值范围,只是固定的
    hist=cv.calcHist([image],[0,1],None,[180,256],[0,180,0,256])
    #interpolation:差值方式
    plt.imshow(hist,interpolation='nearest')
    #直方图名字
    plt.title("2D hist")
    #图三
    plt.show()

def backProjection():
    """直方图反响投影"""
    #样本图片
    sample=cv.imread('pzfb.jpg')
    #目标片图片
    target=cv.imread('pz.jpg')
    sample_hsv=cv.cvtColor(sample,cv.COLOR_BGR2HSV)
    target_hsv=cv.cvtColor(target,cv.COLOR_BGR2HSV)

    #图一
    cv.imshow("sample",sa
原文地址:https://www.cnblogs.com/gangzhucoll/p/12778290.html