---
title: Min
description: "计算图像像素值的最小值。"
url: https://www.hikunpeng.com/document/detail/zh/kunpengboostkithistory/251RC1/accel/kunpengaccel_hmpp_06_0216.html
sourcePath: /source/zh/kunpengboostkithistory/251RC1/accel/kunpengaccel_hmpp_06_0216.html
indexId: 45ef7a19a3ded51f2c3a3339493444ffbe0f1c911a36625a93b141ee68647f6477
---
# Min

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

函数接口声明如下：

- 单通道数据操作：
  HmppResult HMPPI_Min_8u_C1R(const uint8_t *src, int32_t srcStep, HmppiSize roiSize, uint8_t *min);

  HmppResult HMPPI_Min_16u_C1R(const uint16_t *src, int32_t srcStep, HmppiSize roiSize, uint16_t *min);

  HmppResult HMPPI_Min_16s_C1R(const int16_t *src, int32_t srcStep, HmppiSize roiSize, int16_t *min);

  HmppResult HMPPI_Min_32f_C1R(const float *src, int32_t srcStep, HmppiSize roiSize, float *min);

- 多通道数据操作：
  HmppResult HMPPI_Min_8u_C3R(const uint8_t *src, int32_t srcStep, HmppiSize roiSize, uint8_t min[3]);

  HmppResult HMPPI_Min_16u_C3R(const uint16_t *src, int32_t srcStep, HmppiSize roiSize, uint16_t min[3]);

  HmppResult HMPPI_Min_16s_C3R(const int16_t *src, int32_t srcStep, HmppiSize roiSize, int16_t min[3]);

  HmppResult HMPPI_Min_32f_C3R(const float *src, int32_t srcStep, HmppiSize roiSize, float min[3]);

  HmppResult HMPPI_Min_8u_C4R(const uint8_t *src, int32_t srcStep, HmppiSize roiSize, uint8_t min[4]);

  HmppResult HMPPI_Min_16u_C4R(const uint16_t *src, int32_t srcStep, HmppiSize roiSize, uint16_t min[4]);

  HmppResult HMPPI_Min_16s_C4R(const int16_t *src, int32_t srcStep, HmppiSize roiSize, int16_t min[4]);

  HmppResult HMPPI_Min_32f_C4R(const float *src, int32_t srcStep, HmppiSize roiSize, float min[4]);

  HmppResult HMPPI_Min_8u_AC4R(const uint8_t *src, int32_t srcStep, HmppiSize roiSize, uint8_t min[3]);

  HmppResult HMPPI_Min_16u_AC4R(const uint16_t *src, int32_t srcStep, HmppiSize roiSize, uint16_t min[3]);

  HmppResult HMPPI_Min_16s_AC4R(const int16_t *src, int32_t srcStep, HmppiSize roiSize, int16_t min[3]);

  HmppResult HMPPI_Min_32f_AC4R(const float *src, int32_t srcStep, HmppiSize roiSize, float min[3]);


#### 参数

| 参数名 | 描述 | 取值范围 | 输入/输出 |
| --- | --- | --- | --- |
| src | 指向源图像感兴趣区域的指针。 | 非空 | 输入 |
| srcStep | 源图像中连续行的起点之间的距离（以字节为单位）。 | 非负整数 | 输入 |
| roiSize | 源图像和目标图像感兴趣区域的大小（以像素为单位）。 | roiSize.width∈(0, INT\_MAX]，roiSize.height∈(0, INT\_MAX] | 输入 |
| min | 指向最小像素值的指针（用于单通道数据）。 | 非空 | 输入，输出 |
| min[] | 包含源缓冲区中像素的最小通道值的数组（用于多通道数据）。 | 非空 | 输入，输出 |


#### 返回值

- 成功：返回HMPP_STS_NO_ERR。
- 失败：返回错误码。


#### 错误码

| 错误码 | 描述 |
| --- | --- |
| 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
```
