OpenCV:calcHist计算图像直方图

绪:
直方图可展示图像中的像素分布,是用以暗示数字图像中亮度分布的直方图,
标绘了图像中每个亮度值的像素数 。
可以借助不雅察该直方图领会需要若何调整亮度分布 。
本文本家儿要介绍opencv中绘制直方图的函数calHist的格局和用法;

OpenCV:calcHist计算图像直方图

文章插图

需要这些哦
OpenCV 2410
方式/
1calcHist三种函数原型:
opencv中自带了求算图像直方图的函数calhist(),
函数原型如下:
①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 ); 
②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 ); 
③void calcHist( InputArrayOfArrays images, 
                         const vector<int>& channels, 
                         InputArray mask,
                        OutputArray hist, 
                        const vector<int>& histSize, 
                        const vector<float>& ranges, 
                        bool accumulate=false );  

OpenCV:calcHist计算图像直方图

文章插图

2calcHist参数详解:
以第一个函数原型为例:
①const Mat* images:为输入图像的指针;
②int nimages:要计较直方图的图像的个数 。 此函数可觉得多图像求直方图, 我们凡是环境下都只感化于单一图像, 所以凡是nimages=1 。

推荐阅读