鲲鹏社区首页
中文
注册
开发者
我要评分
获取效率
正确性
完整性
易理解
在线提单
论坛求助

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