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