图像处理中,直方图是一个很强有力的工具. 其实直方图就是对颜色像素的统计,将统计值放到相应的bin中. 这里就涉及到bin的概念了,刚开始的时候对这个概念很疑惑.
bin的概念:颜色空间划分的区间即是直方图的bin. 举个例子,灰度图有256个值,如果把每个值划分一个单独的区间,则可以说直方图有256个bin,当然bin越大,颜色区分就越细,但是同时也增加了计算的复杂性.
下面的代码实现了图像RGB三个通道直方图的获取和显示.
#include<opencv2\opencv.hpp>
#include<iostream>
using namespace std;
using namespace cv;
class HistogramND{
private:
Mat image;//源图像
int hisSize[1],hisWidth,hisHeight;//直方图的大小,宽度和高度
float range[2];//直方图取值范围
const float *ranges;
Mat channelsRGB[3];//分离的BGR通道
MatND ou

图像处理中,直方图是一种强大的工具,它通过统计颜色像素来展示图像的颜色分布。直方图的bin表示颜色空间的区间,例如灰度图的256个值可以划分为256个bin。本文介绍了如何使用OpenCV获取并显示RGB图像的三个通道的直方图。

2906

被折叠的 条评论
为什么被折叠?



