opencv2 直方图之calchist函数使用

本文介绍了如何利用OpenCV2中的calchist函数计算图像的直方图,包括一维、三维以及H-S直方图。详细讲解了calchist函数的参数,并给出了计算不同颜色空间直方图的示例。
摘要由CSDN通过智能技术生成

      直方图在图形处理中很常用,直方图可以统计图像的像素特征分布,用于修改图像显示,修改图像内容,通过比较不同图片的直方图可以识别和跟踪特殊纹理的物体和图像,下面先学习怎么计算图像的直方图。

      opencv2提供calchist函数可以方便的计算直方图。

      calchist函数头文件 #include <opencv2/imgproc/imgproc.hpp>

      calchist函数定义:

//! computes the joint dense histogram for a set of images.
CV_EXPORTS void calcHist( const Mat* images, int nimages,
                          const int* channels, InputArray mask,
                          OutputArray hist, int dims, const int* histSize,
                          const float** ranges, bool uniform=true, bool accumulate=false );

//! computes the joint sparse histogram for a set of images.
CV_EXPORTS void calcHist( const Mat* images, int nimages,
                          const int* channels, InputArray mask,
                          SparseMat& hist, int dims,
                          const int* histSize, const float** ranges,
                          bool uniform=true, bool accumulate=false );

CV_EXPORTS_W void calcHist( InputArrayOfArrays images,
                            const vector<int>& channels,
                            InputArray mask, OutputArray hist,
                            const vector<int>& histSize,
                            const vector<float>& ranges,
                            bool accumulate=false );
      举例说明函数应用:

Histogram1D::Histogram1D(){
	histSize[0] = 256; 
	hranges[0] = 0.0;
	hranges[1] = 255.0;
	ranges[0] = hranges;
	channels[0] = 0;
}

cv::MatND Histogram1D::getHistogram(const cv::Mat &image){
	cv::MatND hist;
	cv::calcHist(&image,   //source image
		     1,        //histogram from 1 image only
		     channels, //the channel used
		     cv::Mat(),//no mask is uesd
		     hist,     //the resulting histogram
		     1,        //it is a 1D histogram
		     histSize, //number of bins
		     ranges    //pixel value range
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值