【OpenCV】直方图(一)直方图初步

本文介绍了OpenCV中的直方图概念及其应用,包括检测视频场景变换、图像特征分析。直方图统计图像数据,通过cvCreateHist创建,cvGetMinMaxHistValue获取最大最小值,用于直方图的阈值化和归一化处理。提供了直方图计算的示例代码。
摘要由CSDN通过智能技术生成

最近利用五一的假期时间,把OpenCV中的直方图及其匹配方面看了下,下面就用这篇博文给简单的总结下。
直方图广泛应用于图像处理和计算机视觉中。通过标记帧与帧之间显著的边缘和颜色的统计变化,直方图可以用来检测视频中场景的变换。通过为每个兴趣点设置一个有相近特征的直方图所构成的标签,用以确定图像中的兴趣点。边缘、色彩和角等直方图构成了可以被传递给目标识别分类器的一个通用特征类型。可以说,直方图是进行图像分析和计算机视觉最有利的工具之一。

简单的说,直方图是对数据进行统计,将统计值组织到一系列事先定义好的bin中,bin中的数值是从数据中计算出的特征的统计量,这些数据可以是诸如梯度、方向等其它特征。直方图获得的是数据分布的统计图。

在OpenCV中有各类关于直方图处理的函数,也有表征直方图的数据类型。

(1)类似于图片数据结构IplImage,在创建一个图片时,先cvCreateImage(),类似的,在获得一个直方图的前提是先创建一个新的直方图cvCreateHist();

CvHistogram* cvCreateHist(
    int dims,//直方图包含的维数
    int* sizes,//必须为整数数组
    int  type,//CV_HIST_ARRAY或者是CV_HIST_SPARSE
    float** ranges=NULL,
    int uniform=1//非0表示直方图均匀
)

(2)下面给出一个比较实用的函数,那就是从图像中计算得到直方图

void cvCalcHist(
    //image一个指向数组的IplImage*类型指针,多通道图像,调用此函数前,要将图像分为单通道的
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值