Leaper WaferScan Toolkit
中文 / English 2.x
Public 成员函数
ILHistogram接口 参考

该接口类提供了计算图像直方图的功能。 更多...

类 ILHistogram 继承关系图:
ILObject LHistogram

Public 成员函数

void Build (ILImage *img, ILRegion *region, int binCount, int lowerBound, int upperBound)
 
void BuildFromDataVec (LArray< double > dataVec, int binCount, double lowerBound, double upperBound)
 
void Draw (HDC hdc, LPVChartDrawFlags drawFlags, int xGridStep, int yGridStep)
 
double Item (int index)
 
void MeanStdDev (double *meanValue, double *stdDevValue)
 
void MinMax (int *minIdx, double *minValue, int *maxIdx, double *maxValue)
 
- Public 成员函数 继承自 ILObject
ILObjectCopy ()
 
LPVErrorCode Load (LString filename)
 
void Reset ()
 
LPVErrorCode Save (LString filename)
 
BOOL Valid ()
 

详细描述

该接口类提供了计算图像直方图的功能。

图像直方图将输入图像中的像素按照其灰度值,统计其数值在给定范围和步长上的分布。 在一个视觉系统中,图像直方图通常用于观察和分析输入图像的亮度和对比度状态,用于调整整个视觉系统的光学成像。 也可根据直方图中隐含的灰度特征,用于目标识别和检测。

使用这个接口,需要创建一个 LHistogram 对象。

示例代码

成员函数说明

◆ Build()

void Build ( ILImage img,
ILRegion region,
int  binCount,
int  lowerBound,
int  upperBound 
)

基于输入图像和区域,生成直方图。

参数
[in]img输入图像
[in]region输入区域,可为空(检测全图)
[in]binCount将直方图分为若干个统计区域,推荐设置为总数据范围的因子,比如对一个灰度图,常用设置为 256 ,128,32 等。
[in]lowerBound统计数据范围的下限,比如对一个 8 位灰度图,常用设置为 0.
[in]upperBound统计数据范围的上限,比如对一个 8 位灰度图,常用设置为 255.
参见
BuildFromDataVec()

◆ BuildFromDataVec()

void BuildFromDataVec ( LArray< double >  dataVec,
int  binCount,
double  lowerBound,
double  upperBound 
)

基于输入图像和区域,生成直方图。

参数
[in]dataVec输入数值向量,这是一组浮点数值
[in]binCount将直方图分为若干个统计区域。
[in]lowerBound统计数据范围的下限。默认设置上下限均为 0,表示将计算和使用输入数据的最小和最大值作为上下限。
[in]upperBound统计数据范围的上限。
参见
Build()

◆ Draw()

void Draw ( HDC  hdc,
LPVChartDrawFlags  drawFlags,
int  xGridStep,
int  yGridStep 
)

将直方图绘制到给定的设备,使用索引作为 x 轴、数值作为 y 轴。

参数
[in]hdc绘制设备,可为窗口、位图等的上下文句柄。
[in]drawFlags用于控制绘制的内容,查看 LPVChartDrawFlags。
[in]xGridStep绘制 x 轴的步长,默认设置为 0,表示按照分数曲线数据自动选择合适的步长。
[in]yGridStep绘制 y 轴的步长,默认设置为 0,表示按照分数曲线数据自动选择合适的步长。
备注
该函数在 Linux / MacOS 平台暂不可用。

◆ Item()

double Item ( int  index)

获取某一个直方图区域的值,表示数值落入该区域的像素总数。

参数
[in]index直方图区域的索引。
返回值
value输出该直方图区域的值。

◆ MeanStdDev()

void MeanStdDev ( double *  meanValue,
double *  stdDevValue 
)

计算直方图的均值和标准差。

参数
[out]meanValue返回均值。
[out]stdDevValue返回标准差。

◆ MinMax()

void MinMax ( int *  minIdx,
double *  minValue,
int *  maxIdx,
double *  maxValue 
)

查找直方图上的最大和最小值,及其对应的索引。若有多个区域的值相同,返回第一个区域。

参数
[out]minIdx返回最小值对应的索引。
[out]minValue返回最小值。
[out]maxIdx返回最大值对应的索引。
[out]maxValue返回最大值。