OpenCV2编程手册笔记之 4.2计算图像的直方图

1.引子

    一个像素是由不同颜色的像素组成的,那么像素在图像中的分布就称为这个图像的重要特征。直方图不仅仅可以用来观察图像,还可以起到改善图像外观、描述直方图内容的作用。

2.直方图实现

    在一个单通道的灰度图像中,每个像素的值都介于0(黑色)——255(白色)之间。根据这点,灰度图像的直方图拥有256个条目,这些条目也称之为容器。分别称为0号容器到255号容器。

    现在,我们以灰度形式读取一张图片,并且定义一个直方图处理类来方便的处理直方图操作。

    在这个类中,我们先声明变量并编写构造函数:

private:
	int histSize[1];
	float hranges[2];
	const float *ranges[1];
	int channels[1];
public:
	Histogram1D()
	{
		histSize[0] = 256;
		hranges[0] = 0.0;
		hranges[1] = 255.0;
		ranges[0] = hranges;
		channels[0] = 0;
	}

    这是一个处理单通道灰度图像类的成员变量,之后我们使用以下方法计算灰度直方图。

    其中最主要的函数就是calcHist

calcHist(const Mat* images, int nimages,
	const int* channels, InputArray mask,
	OutputArray hist, int dims, const int* histSize,
	const float** ranges, bool uniform = true,
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值