openCV编程基础11--直方图反向投影

功能:

1.可以寻找与直方图一致的区域,类似于模板

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

#直方图反向投影(可以寻找与直方图一致的区域,类似于模板)
def back_projection_demo():
    sample = cv.imread('F:003.png')
    target = cv.imread('F:001.jpg')
    roi_hsv = cv.cvtColor(sample, cv.COLOR_BGR2HSV)
    target_hsv = cv.cvtColor(target, cv.COLOR_BGR2HSV)

    cv.imshow('sample', sample)
    cv.imshow('target', target)

    roiHist = cv.calcHist([roi_hsv],[0,1],None,[5,5],[0,180,0,256])
    cv.normalize(roiHist,roiHist,0,255,cv.NORM_MINMAX)
    dst = cv.calcBackProject([target_hsv],[0,1],roiHist,[0,180,0,256],1)
    cv.imshow('backProjectionDemo',dst)




#2D直方图计算与显示
def hist2d_demo(image):
    hsv = cv.cvtColor(image, cv.COLOR_BGR2HSV)
    hist = cv.calcHist([hsv],[0,1],None,[180,256],[0,180,0,256])
    cv.imshow('hist2d',hist)
    plt.imshow(hist,interpolation='nearest')
    plt.title('2D Histogram')
    plt.show()


# src = cv.imread('F:001.jpg')
# #cv.namedWindow('input_image', cv.WINDOW_AUTOSIZE)
# cv.imshow("0", src)
# hist2d_demo(src)
back_projection_demo()
cv.waitKey(0)
cv.destroyAllWindows()

输出结果:

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值