Min

计算图像像素值的最小值。

函数接口声明如下:

参数

参数名

描述

取值范围

输入/输出

src

指向源图像感兴趣区域的指针。

非空

输入

srcStep

源图像中连续行的起点之间的距离(以字节为单位)。

非负整数

输入

roiSize

源图像和目标图像感兴趣区域的大小(以像素为单位)。

roiSize.width∈(0, INT_MAX],roiSize.height∈(0, INT_MAX]

输入

min

指向最小像素值的指针(用于单通道数据)。

非空

输入,输出

min[]

包含源缓冲区中像素的最小通道值的数组(用于多通道数据)。

非空

输入,输出

返回值

错误码

错误码

描述

HMPP_STS_NULL_PTR_ERR

src中存在空指针。

HMPP_STS_STEP_ERR

srcStep小于或等于0。

HMPP_STS_ROI_ERR

roiSize.width > 步长。

HMPP_STS_SIZE_ERR

roiSize.width或roiSize.height小于或等于0。

HMPP_STS_NOT_EVEN_STEP_ERROR

srcStep不能被src所属数据类型的字节长度整除。

示例

void ThresholdExample()
{
    HmppiSize roi = {9,3};
    uint8_t src[52] = {  10, 4, 8, 13, 16, 20, 24, 28, 32, 36, 40, 44, 48, 
                     11, 4, 8, 13, 16, 20, 24, 28, 32, 36, 40, 44, 48, 
                     12, 4, 8, 13, 16, 20, 3, 28, 32, 36, 40, 1, 255, 
                     13, 4, 8, 13, 16, 20, 24, 28, 32, 36, 40, 44, 48};
    int32_t srcStep = 13*sizeof(uint8_t);
    uint8_t min;
    HMPPI_Min_8u_C1R(src, srcStep, roi, &min);
    printf("min=%d ", min);
    printf("\n");
}

int main(){
    ThresholdExample();
    return 0;
}

测试结果:

min = 3