Mean_StdDev
此函数功能是计算图像像素值的平均值和标准差。
函数接口声明如下:
- 单通道均值和标准差:
HmppResult HMPPI_Mean_StdDev_32f_C1R(const float* pSrc, int srcStep, HmppiSize roiSize, double* pMean, double* pStdDev);
参数
参数名 |
描述 |
取值范围 |
输入/输出 |
|---|---|---|---|
pSrc |
指向源图像感兴趣区域的指针。 |
非空 |
输入 |
srcStep |
源图像中连续行起点之间的距离(以字节为单位)。 |
非负整数 |
输入 |
roiSize |
源和目标图像感兴趣区域的大小(以像素为单位)。 |
roiSize.width∈(0, INT_MAX],roiSize.height∈(0, INT_MAX] |
输入 |
pMean |
指向像素值计算平均值的指针。 |
非空 |
输入/输出 |
pStdDev |
指向图像中像素值计算得到的标准差的指针。 |
非空 |
输入/输出 |
返回值
- 成功:返回HMPP_STS_NO_ERR。
- 失败:返回错误码。
错误码
错误码 |
描述 |
|---|---|
HMPP_STS_NULL_PTR_ERR |
src中存在空指针。 |
HMPP_STS_SIZE_ERR |
roiSize的width、height存在零或负值。 |
HMPP_STS_STEP_ERR |
srcStep中存在零或负值。 |
HMPP_STS_NOT_EVEN_STEP_ERR |
srcStep不能被src所属数据类型的字节长度整除的错误条件。 |
示例
void Mean_StdDevExample()
{
HmppiSize roiSize = {3, 3};
float pSrc[] = {1.0, 2.0, 3.0,
4.0, 5.0, 6.0,
7.0, 8.0, 9.0};
double pMean, pStdDev;
int srcStep = roiSize.width * sizeof(float);
HmppResult result = HMPPI_Mean_StdDev_32f_C1R(pSrc, srcStep, roiSize, &pMean, &pStdDev);
printf("result = %d\n", result);
if (result != HMPP_STS_NO_ERR) {
return;
}
printf("%lf %lf\n", pMean, pStdDev);
}
运行结果:
result = 0 5.000000 2.581989
父主题: 图像统计功能