该接口类提供了计算图像直方图的功能。 更多...
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 | |
| ILObject * | Copy () |
| LPVErrorCode | Load (LString filename) |
| void | Reset () |
| LPVErrorCode | Save (LString filename) |
| BOOL | Valid () |
该接口类提供了计算图像直方图的功能。
图像直方图将输入图像中的像素按照其灰度值,统计其数值在给定范围和步长上的分布。 在一个视觉系统中,图像直方图通常用于观察和分析输入图像的亮度和对比度状态,用于调整整个视觉系统的光学成像。 也可根据直方图中隐含的灰度特征,用于目标识别和检测。
使用这个接口,需要创建一个 LHistogram 对象。
基于输入图像和区域,生成直方图。
| [in] | img | 输入图像 |
| [in] | region | 输入区域,可为空(检测全图) |
| [in] | binCount | 将直方图分为若干个统计区域,推荐设置为总数据范围的因子,比如对一个灰度图,常用设置为 256 ,128,32 等。 |
| [in] | lowerBound | 统计数据范围的下限,比如对一个 8 位灰度图,常用设置为 0. |
| [in] | upperBound | 统计数据范围的上限,比如对一个 8 位灰度图,常用设置为 255. |
| void BuildFromDataVec | ( | LArray< double > | dataVec, |
| int | binCount, | ||
| double | lowerBound, | ||
| double | upperBound | ||
| ) |
基于输入图像和区域,生成直方图。
| [in] | dataVec | 输入数值向量,这是一组浮点数值 |
| [in] | binCount | 将直方图分为若干个统计区域。 |
| [in] | lowerBound | 统计数据范围的下限。默认设置上下限均为 0,表示将计算和使用输入数据的最小和最大值作为上下限。 |
| [in] | upperBound | 统计数据范围的上限。 |
| 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,表示按照分数曲线数据自动选择合适的步长。 |
| double Item | ( | int | index | ) |
获取某一个直方图区域的值,表示数值落入该区域的像素总数。
| [in] | index | 直方图区域的索引。 |
| value | 输出该直方图区域的值。 |
| void MeanStdDev | ( | double * | meanValue, |
| double * | stdDevValue | ||
| ) |
计算直方图的均值和标准差。
| [out] | meanValue | 返回均值。 |
| [out] | stdDevValue | 返回标准差。 |
| void MinMax | ( | int * | minIdx, |
| double * | minValue, | ||
| int * | maxIdx, | ||
| double * | maxValue | ||
| ) |
查找直方图上的最大和最小值,及其对应的索引。若有多个区域的值相同,返回第一个区域。
| [out] | minIdx | 返回最小值对应的索引。 |
| [out] | minValue | 返回最小值。 |
| [out] | maxIdx | 返回最大值对应的索引。 |
| [out] | maxValue | 返回最大值。 |