在OpenCV里实现二维直方图

目标:怎么样实现二维直方图

 

在前面我们学习过一维直方图,也有应用它来解决过很多问题。但是没有使用过二维直方图,那么它是怎么样实现,以及有什么作用呢。本文就来解决这些问题。在一维直方图里只关注了一个特征:灰度值。在二维直方图里,将要考虑两个特征,一般情况就是采用彩色图里的色调(H)和饱和度(S)。二维直方图主要应用在反向投影方面。

 

使用OpenCV实现二维直方图

跟计算一维直方图是一样,可以使用cv.calcHist()函数来计算,不过要把图像从BGR转换为HSV空间,并且要注意下面的参数:

channels = [0,1],通道参数里指明要计算H和S的直方图。

bins = [180,256],确定每个通道里直方图的分割的份数,H分为180个,S分为256个。

range = [0,180,0,256],色调H值范围为0到180,S范围为0到256。

 

有了这些参数,就可以调用这个函数:

import numpy as np

import cv2 as cv

 

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 大白 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览

应支付9.90元
点击重新获取
扫码支付

支付成功即可阅读