OpenCV环境下计算并绘制灰度直方图的源码!
来源:互联网 发布:python 英文词性标注 编辑:程序博客网 时间:2024/05/16 15:42
本文转自 http://opencv66.net/thread-15-1-1.html
图像的直方图是图像进行运算时的一个重要的数据特征,许多算法都需要用到图像的直方图数据,OpenCV提供了函数calcHist用来计算图像的直方图数据。这个函数的参数较多,下面介绍这个函数。
calcHist的原型如下:
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);
参数意义如下:images:源图像数组,数组内的图片应该有相同的深度和大小,图像深度只能是CV_8U或CV_32F,通道数可以不同,注意这个参数是指针。
nimages:要计算图像的个数。
channel:计算哪些通道的直方图。通道编号方法:第一张图的通道编号为0至images[0].channels()-1,第二张图的通道编号为images[0].channels()至images[0].channels() + images[1].channels()-1,以此类推,注意这个参数是指针。
mask:掩码阵列。掩码中的非0元素对应的图像元素将会被计算,0元素则被屏蔽不参与计算。掩码阵列可以为空。
hist:直方图计算结果存储阵列。
dims:直方图的维度,比如灰度图的直方图为1维,H-S直方图为2维,以此类推,最大不超过CV_MAX_DIMS,目前CV_MAX_DIMS=32。
histSize:各个维度的大小。
ranges:存储每个维度的统计范围。
uniform:直方图是否均匀化的标志,意义暂时不清楚,等以后搞清楚了再来补充说明。
accumulate:记忆标志。表示这个函数空间被再次调用前是否清零,如果不清零,则可以使得用户存储多张图的直方图数据,或者对之前的计算过的直方图进行更新。
OpenCV下计算并绘制直方图的代码如下:
源代码请访问原帖查看,链接是 http://opencv66.net/thread-15-1-1.html
源代码请访问原帖查看,链接是 http://opencv66.net/thread-15-1-1.html
源代码请访问原帖查看,链接是 http://opencv66.net/thread-15-1-1.html
代码中用到了line函数来绘制直方图,这里给出它的原型,大家看下原型再结合原型自然就明白了怎么用了。
void line(InputOutputArray img, Point pt1, Point pt2, const Scalar& color,int thickness = 1, int lineType = LINE_8, int shift = 0);
另外,大家要注意,在opencv中,坐标原点在左上角,也就是说向下为y轴正方向,所以代码中为了大家的阅读习惯还对图像进行了一次翻转处理。翻转部分代码的原理请大家参看帖子http://opencv66.net/thread-3-1-1.html
代码运行结果截图如下:
本文转自 http://opencv66.net/thread-15-1-1.html
阅读全文
0 0
- OpenCV环境下计算并绘制灰度直方图的源码!
- 利用OpenCV计算并绘制灰度直方图
- 利用OpenCV计算并绘制灰度直方图 (转载)
- 利用OpenCV计算并绘制灰度直方图 (转载)
- OpenCV环境下计算并绘制HSV空间的H-S的二维联合直方图
- python 计算并绘制灰度直方图
- opencv绘制灰度直方图
- opencv绘制灰度直方图
- opencv 绘制灰度直方图
- 利用OpenCV的calcHist绘制灰度直方图、H-S直方图、BGR直方图和自定义直方图的源码及说明
- opencv——灰度直方图的绘制
- opencv图像直方图的计算及绘制
- OpenCV下的灰度直方图生成及显示的源码,带详细注释!
- opencv实现灰度图像的直方图点计算以及灰度直方图显示
- 绘制灰度直方图(OpenCV + Java)
- 计算灰度图的像素直方图,并显示(c++)
- Opencv绘制灰度/彩色图像的直方图及直方图的均衡化实例及源代码
- opencv直方图均衡化并绘制直方图
- 近200篇机器学习&深度学习资料分享(含各种文档,视频,源码等)
- 【例子驱动学习】shared_ptr
- 几款常用的高质量web前端框架
- 使用exe4j将java程序打包成exe文件
- Jenkins进阶系列之——07更改Jenkins的主目录
- OpenCV环境下计算并绘制灰度直方图的源码!
- 你需要的iPhoneX适配
- C++类中的数据成员能否在定义类的时候就初始化?
- Solr集群的搭建以及使用
- nginx+ftp搭建图片服务器(Windows Server服务器环境下)
- JSONUtil工具类
- 树状数组模板
- JS判断客户端是否是iOS或者Android手机移动端
- 二叉查找树