3. API参考¶
3.1. Create Handle¶
【描述】
创建IVE句柄。
【语法】
IVE_HANDLE CVI_IVE_CreateHandle();
【需求】
头文件:cvi_comm_ive.h cvi_ive.h
3.2. Destroy Handle¶
【描述】
释放IVE句柄。
【语法】
CVI_S32 CVI_IVE_CreateHandle(IVE_HANDLE pIveHandle);
【参数】
参数名称 |
描述 |
输入/输出 |
---|---|---|
pIveHandle |
handle指针。不能为空。 |
输入 |
【需求】
头文件:cvi_comm_ive.h cvi_ive.h
【返回值】
返回值 |
描述 |
---|---|
0 |
成功 |
非0 |
失败 |
3.3. DMA¶
【描述】
创建直接内存访问任务,支持快速拷贝、间隔拷贝、内存填充:可实现数据从一块内存快速拷贝到另一块内存,或者从一块内存有规律的拷贝一些数据到另一块内存,或者对一块内存进行填充操作。
【语法】
CVI_S32 CVI_IVE_DMA(IVE_HANDLE pIveHandle, IVE_DST_DATA_S *pstSrc, IVE_DST_DATA_S *pstDst, IVE_DMA_CTRL_S *pstCtrl, CVI_BOOL bInstant );
【参数】
参数名称 |
描述 |
输入/输出 |
---|---|---|
pIveHandle |
handle指针。不能为空。 |
输入 |
pstSrc |
源数据指针。不能为空。 |
输入 |
pstDst |
输出数据指针。Copy模式下不能为空。 |
输出 |
pstCtrl |
DMA控制参数指针。不能为空。 |
输入 |
bInstant |
返回结果标志。True为busy waiting mode,False为Interrupt mode。 |
输入 |
参数名称 |
支持类型 |
地址对齐 |
分辨率 |
---|---|---|---|
pstSrc |
IVE_DATA_S |
1 byte |
32x1~1920x1080 |
pstDst |
IVE_DST_DATA_S |
1 byte |
直接拷贝时同pstSrc;间隔拷贝时比pstSrc大 |
【返回值】
返回值 |
描述 |
---|---|
0 |
成功 |
非0 |
失败 |
【需求】
头文件:cvi_comm_ive.h cvi_ive.h
[注意]
IVE_DMA_MODE_DIRECT_COPY:快速拷贝模式
可实现从大块内存中扣取小块内存,如图所示,计算公式如下:
\[\begin{aligned} I_{\text {out }}(x, y)=I(x, y) \quad(0 \leq x \leq \text { width }, 0 \leq y \leq \text { height }) \end{aligned}\]
快速拷贝示意图

IVE_DMA_MODE_INTERVAL_COPY:间隔拷贝模式
要求源数据宽度为u8HorSegSize的倍数;
间隔拷贝的方式:将每u8VerSegRows行中第一行数据分割为u8HorSegSize大小的段, 拷贝每段中的前u8ElemSize大小的字节。如图所示。
IVE_DMA_MODE_SET_3BYTE:3字节填充模式
仅使用pstSrc, 用u64Val的低3字节对源数据进行填充操作;当一行末尾不够3字节时, 用u64Val的低字节填充
IVE_DMA_MODE_SET_8BYTE:8字节填充模式
仅使用pstSrc,用u64Val对源数据进行填充操作;当一行的末尾不足8字节时,用u64Val的低字节填充。
间隔拷贝示意图

3.4. Filter¶
【描述】
创建 5x5 模板滤波任务,通过配置不同的模板系数,可以实现不同的滤波。
【语法】
CVI_S32 CVI_IVE_Filter(IVE_HANDLE pIveHandle, IVE_SRC_IMAGE_S *pstSrc, IVE_DST_IMAGE_S *pstDst, IVE_FILTER_CTRL_S *pstCtrl, CVI_BOOL bInstant);
【参数】
参数名称 |
描述 |
输入/输出 |
---|---|---|
pIveHandle |
handle指针。不能为空。 |
输入 |
pstSrc |
源数据指针。不能为空。 |
输入 |
pstDst |
输出数据指针。宽高同pstSrc。 |
输出 |
pstCtrl |
控制信息指针。不能为空。 |
输入 |
bInstant |
返回结果标志。 |
输入 |
参数名称 |
支持图像类型 |
地址对齐 |
分辨率 |
---|---|---|---|
pstSrc |
U8C1、YUV420SP、YUV422SP |
16 byte |
64x64~1920x1024 |
pstDst |
同pstSrc |
16 byte |
同pstSrc |
【返回值】
返回值 |
描述 |
---|---|
0 |
成功 |
非0 |
失败 |
【需求】
头文件:cvi_comm_ive.h cvi_ive.h
【注意】
3.5. Filter And CSC¶
【描述】
创建 5x5 模板滤波及YUV2RGB色彩空间转换任务,通过配置不同的模板系数,可以实现不同的滤波。
【语法】
CVI_S32 CVI_IVE_FilterAndCSC(IVE_HANDLE pIveHandle, IVE_SRC_IMAGE_S *pstSrc, IVE_DST_IMAGE_S *pstDst, IVE_FILTER_AND_CSC_CTRL_S *pstCtrl, CVI_BOOL bInstant);
【参数】
参数名称 |
描述 |
输入/输出 |
---|---|---|
pIveHandle |
handle指针。不能为空。 |
输入 |
pstSrc |
源数据指针。不能为空。 |
输入 |
pstDst |
输出数据指针。宽高同pstSrc。 |
输出 |
pstCtrl |
控制信息指针。不能为空。 |
输入 |
bInstant |
返回结果标志。 |
输入 |
参数名称 |
支持图像类型 |
地址对齐 |
分辨率 |
---|---|---|---|
pstSrc |
YUV420SP、YUV422SP |
16 byte |
64x64~1920x1024 |
pstDst |
U8C3_PLANAR或U8C3_PACKAGE |
16 byte |
同pstSrc |
【返回值】
返回值 |
描述 |
---|---|
0 |
成功 |
非0 |
失败 |
【需求】
头文件:cvi_comm_ive.h cvi_ive.h
【注意】
3.6. CSC¶
【描述】
创建色彩空间转换任务。
【语法】
CVI_S32 CVI_IVE_CSC(IVE_HANDLE pIveHandle, IVE_SRC_IMAGE_S *pstSrc, IVE_DST_IMAGE_S *pstDst, IVE_FILTER_CTRL_S *pstCtrl, CVI_BOOL bInstant);
【参数】
参数名称 |
描述 |
输入/输出 |
---|---|---|
pIveHandle |
handle指针。不能为空。 |
输入 |
pstSrc |
源数据指针。不能为空。 |
输入 |
pstDst |
输出数据指针。宽高同pstSrc。 |
输出 |
pstCscCtrl |
控制信息指针。不能为空。 |
输入 |
bInstant |
返回结果标志。 |
输入 |
参数名称 |
支持图像类型 |
地址对齐 |
分辨率 |
---|---|---|---|
pstSrc |
YUV420SP、YUV422SP、 U8C3_PLANAR、U8C3_PACKAGE |
16 byte |
64x64~1920x1024 |
pstDst |
U8C3_PLANAR、 U8C3_PACKAGE、 YUV420SP、YUV422SP |
16 byte |
同pstSrc |
【返回值】
返回值 |
描述 |
---|---|
0 |
成功 |
非0 |
失败 |
【需求】
头文件:cvi_comm_ive.h cvi_ive.h
【注意】
3.7. Sobel¶
【描述】
创建 5x5 模板 Sobel-like 梯度计算任务。
【语法】
CVI_S32 CVI_IVE_Sobel(IVE_HANDLE pIveHandle, IVE_SRC_IMAGE_S *pstSrc, IVE_DST_IMAGE_S *pstDstH, IVE_DST_IMAGE_S *pstDstV, IVE_SOBEL_CTRL_S *pstCtrl, CVI_BOOL bInstant);
【参数】
参数名称 |
描述 |
输入/输出 |
---|---|---|
pIveHandle |
handle指针。不能为空。 |
输入 |
pstSrc |
源数据指针。不能为空。 |
输入 |
pstDstH |
由模板直接滤波得到的梯度分量图像 H 指针。根pstSobelCtrl→enOutCtrl, 若需要输出则不能为空。宽高同pstSrc。 |
输出 |
pstDstV |
由模板直接滤波得到的梯度分量图像 V 指针。根pstSobelCtrl→enOutCtrl, 若需要输出则不能为空。宽高同pstSrc。 |
输出 |
pstCtrl |
控制信息指针。不能为空。 |
输入 |
bInstant |
及时返回结果标志。 |
输入 |
参数名称 |
支持图像类型 |
地址对齐 |
分辨率 |
---|---|---|---|
pstSrc |
U8C1 |
16 byte |
8x8~1920x1024 |
pstDstH |
S16C1 |
16 byte |
同pstSrc |
pstDstV |
S16C1 |
16 byte |
同pstSrc |
【返回值】
返回值 |
描述 |
---|---|
0 |
成功 |
非0 |
失败 |
【需求】
头文件:cvi_comm_ive.h cvi_ive.h
【注意】
3.8. NormGrad¶
【描述】
创建归一化梯度计算任务。 所有梯度会归一化到S8格式。
【语法】
CVI_S32 CVI_IVE_NormGrad(IVE_HANDLE pIveHandle, IVE_SRC_IMAGE_S *pstSrc, IVE_DST_IMAGE_S *pstDstH, IVE_DST_IMAGE_S *pstDstV, IVE_DST_IMAGE_S *pstDstHV, IVE_NORM_GRAD_CTRL_S *pstCtrl, CVI_BOOL bInstant);
【参数】
参数名称 |
描述 |
输入/输出 |
---|---|---|
pIveHandle |
handle指针。不能为空。 |
输入 |
pstSrc |
源数据指针。不能为空。 |
输入 |
pstDstH |
由模板直接滤波得到的梯度分量图像 H 指针。根pstNormGradCtrl→enOutCtrl, 若需要输出则不能为空。宽高同pstSrc。 |
输出 |
pstDstV |
由模板直接滤波得到的梯度分量图像 V 指针。根pstNormGradCtrl→enOutCtrl,若需要输出则不能为空。宽高同pstSrc。 |
输出 |
pstDstHV |
由模板直接滤波得到的梯度分量图像 HV 指针。根pstNormGradCtrl→enOutCtrl,若需要输出则不能为空。宽高同pstSrc。 |
输出 |
pstCtrl |
控制信息指针。不能为空。 |
输入 |
bInstant |
及时返回结果标志。 |
输入 |
参数名称 |
支持图像类型 |
地址对齐 |
分辨率 |
---|---|---|---|
pstSrc |
U8C1 |
16 byte |
|
pstDstH |
U8C1 |
16 byte |
|
pstDstV |
U8C1 |
16 byte |
|
pstDstHV |
S8C2_PACKAGE |
16 byte |
【返回值】
返回值 |
描述 |
---|---|
0 |
成功 |
非0 |
失败 |
【需求】
头文件:cvi_comm_ive.h cvi_ive.h
【注意】
3.9. Canny Edge¶
【描述】
链接Canny影像结边界。
【语法】
CVI_S32 CVI_IVE_CannyEdge(IVE_IMAGE_S *pstEdge, IVE_MEM_INFO_S *pstStack);
【参数】
参数名称 |
描述 |
输入/输出 |
---|---|---|
pstEdge |
输入Edge Flag影像,输出二值化边界影像。 |
输入/输出 |
pstStack |
强边界的坐标 |
输入/输出 |
参数名称 |
支持图像类型 |
地址对齐 |
分辨率 |
---|---|---|---|
pstEdge |
U8C1 |
16 byte |
|
pstStack |
16 byte |
【返回值】
返回值 |
描述 |
---|---|
0 |
成功 |
非0 |
失败 |
【需求】
头文件:cvi_comm_ive.h cvi_ive.h
【注意】
3.10. Canny Hysteresis Edge¶
【描述】
创建Canny Edge任务,计算灰阶影像的Gradient, Gradient Magnitude, Hysteresis threshold和Non-Maximum Suppression。
【语法】
CVI_S32 CVI_IVE_CannyHysEdge(IVE_HANDLE pIveHandle, IVE_IMAGE_S *pstSrc, IVE_DST_IMAGE_S *pstEdge, IVE_MEM_INFO_S *pstStack,IVE_CANNY_HYS_EDGE_CTRL_S *pstCtrl, CVI_BOOL bInstant);
【参数】
参数名称 |
描述 |
输入/输出 |
---|---|---|
pIveHandle |
handle指针。不能为空。 |
输入 |
pstSrc |
源数据指针。不能为空。 |
输入 |
pstEdge |
Strong/Weak Edge Flag影像。 |
输出 |
pstStack |
强边界的坐标 |
输出 |
pstCtrl |
控制信息指针。不能为空。 |
输入 |
bInstant |
及时返回结果标志。 |
输入 |
参数名称 |
支持图像类型 |
地址对齐 |
分辨率 |
---|---|---|---|
pstSrc |
U8C1 |
16 byte |
|
pstEdge |
U8C1 |
16 byte |
|
pstStack |
16 byte |
【返回值】
返回值 |
描述 |
---|---|
0 |
成功 |
非0 |
失败 |
【需求】
头文件:cvi_comm_ive.h cvi_ive.h
【注意】
3.11. MagAndAng¶
【描述】
创建 5x5 模板梯度幅值与幅角计算任务。
【语法】
CVI_S32 CVI_IVE_MagAndAng(IVE_HANDLE pIveHandle, IVE_SRC_IMAGE_S *pstSrc, IVE_DST_IMAGE_S *pstDstMag, IVE_DST_IMAGE_S *pstDstAng, IVE_MAG_AND_ANG_CTRL_S *pstCtrl, CVI_BOOL bInstant);
【参数】
参数名称 |
描述 |
输入/输出 |
---|---|---|
pIveHandle |
handle指针。不能为空。 |
输入 |
pstSrc |
源数据指针。不能为空。 |
输入 |
pstDstMag |
输出幅值图像指针。 不能为空。 高、宽同 pstSrc。 |
输出 |
pstDstAng |
输出幅角图像指针。根据pstMagAndAngCtrl→enOutCtrl,需要输出 则不能为空。 高、宽同 pstSrc。 |
输出 |
pstCtrl |
控制信息指针。不能为空。 |
输入 |
bInstant |
及时返回结果标志。 |
输入 |
参数名称 |
支持图像类型 |
地址对齐 |
分辨率 |
---|---|---|---|
pstSrc |
U8C1 |
16 byte |
64x64~1920x1024 |
pstDstMag |
U16C1 |
16 byte |
同pstSrc |
pstDstAng |
U8C1 |
16 byte |
同pstSrc |
【返回值】
返回值 |
描述 |
---|---|
0 |
成功 |
非0 |
失败 |
【需求】
头文件:cvi_comm_ive.h cvi_ive.h
3.12. Dilate¶
【描述】
创建二值图像 5x5 模板膨胀任务。
【语法】
CVI_S32 CVI_IVE_Dilate(IVE_HANDLE pIveHandle, IVE_SRC_IMAGE_S *pstSrc, IVE_DST_IMAGE_S *pstDst, IVE_DILATE_CTRL_S *pstCtrl, CVI_BOOL bInstant);
【参数】
参数名称 |
描述 |
输入/输出 |
---|---|---|
pIveHandle |
handle指针。不能为空。 |
输入 |
pstSrc |
源数据指针。不能为空。 |
输入 |
pstDst |
输出幅值图像指针。 不能为空。 高、宽同 pstSrc。 |
输出 |
pstCtrl |
控制信息指针。不能为空。 |
输入 |
bInstant |
及时返回结果标志。 |
输入 |
参数名称 |
支持图像类型 |
地址对齐 |
分辨率 |
---|---|---|---|
pstSrc |
U8C1 |
16 byte |
64x64~1920x1024 |
pstDst |
U16C1 |
16 byte |
同pstSrc |
【返回值】
返回值 |
描述 |
---|---|
0 |
成功 |
非0 |
失败 |
【需求】
头文件:cvi_comm_ive.h cvi_ive.h
3.13. Erode¶
【描述】
创建二值图像 5x5 模板腐蚀任务。
【语法】
CVI_S32 CVI_IVE_Erode(IVE_HANDLE pIveHandle, IVE_SRC_IMAGE_S *pstSrc, IVE_DST_IMAGE_S *pstDst, IVE_ERODE_CTRL_S *pstErodeCtrl, CVI_BOOL bInstant);
【参数】
参数名称 |
描述 |
输入/输出 |
---|---|---|
pIveHandle |
handle指针。不能为空。 |
输入 |
pstSrc |
源数据指针。不能为空。 |
输入 |
pstDst |
输出幅值图像指针。 不能为空。 高、宽同 pstSrc。 |
输出 |
pstErodeCtrl |
控制信息指针。不能为空。 |
输入 |
bInstant |
及时返回结果标志。 |
输入 |
参数名称 |
支持图像类型 |
地址对齐 |
分辨率 |
---|---|---|---|
pstSrc |
U8C1 的二值图 |
16 byte |
64x64~1920x1024 |
pstDst |
U8C1 的二值图 |
16 byte |
同pstSrc |
【返回值】
返回值 |
描述 |
---|---|
0 |
成功 |
非0 |
失败 |
【需求】
头文件:cvi_comm_ive.h cvi_ive.h
3.14. Thresh¶
【描述】
创建灰度图像阈值化任务。
【语法】
CVI_S32 CVI_IVE_Thresh(IVE_HANDLE pIveHandle, IVE_SRC_IMAGE_S *pstSrc, IVE_DST_IMAGE_S *pstDst, IVE_MAG_AND_ANG_CTRL_S *pstCtrl, CVI_BOOL bInstant);
【参数】
参数名称 |
描述 |
输入/输出 |
---|---|---|
pIveHandle |
handle指针。不能为空。 |
输入 |
pstSrc |
源数据指针。不能为空。 |
输入 |
pstDst |
输出幅值图像指针。 不能为空。 高、宽同 pstSrc。 |
输出 |
pstCtrl |
控制信息指针。不能为空。 |
输入 |
bInstant |
及时返回结果标志。 |
输入 |
参数名称 |
支持图像类型 |
地址对齐 |
分辨率 |
---|---|---|---|
pstSrc |
U8C1 |
16 byte |
64x64~1920x1024 |
pstDstMag |
U16C1 |
16 byte |
同pstSrc |
pstDstAng |
U8C1 |
16 byte |
同pstSrc |
【返回值】
返回值 |
描述 |
---|---|
0 |
成功 |
非0 |
失败 |
【需求】
头文件:cvi_comm_ive.h cvi_ive.h
3.15. And¶
【描述】
创建两二值图像相与任务。
【语法】
CVI_S32 CVI_IVE_And(IVE_HANDLE pIveHandle, IVE_SRC_IMAGE_S *pstSrc1, IVE_SRC_IMAGE_S *pstSrc2, IVE_DST_IMAGE_S *pstDst, IVE_AND_CTRL_S *pstCtrl,CVI_BOOL bInstant);
【参数】
参数名称 |
描述 |
输入/输出 |
---|---|---|
pIveHandle |
handle指针。不能为空。 |
输入 |
pstSrc1 |
源图像1指针。不能为空。 |
输入 |
pstSrc2 |
源图像2指针。不能为空。 |
输出 |
pstDst |
输出幅值图像指针。 不能为空。 高、宽同 pstSrc。 |
输出 |
pstCtrl |
控制信息指针。不能为空。 |
输入 |
bInstant |
及时返回结果标志。 |
输入 |
参数名称 |
支持图像类型 |
地址对齐 |
分辨率 |
---|---|---|---|
pstSrc1 |
U16C1 的二值图 |
1 byte |
64x64~1920x1024 |
pstSrc2 |
U16C1 |
1 byte |
同pstSrc |
pstDst |
U8C1 |
1 byte |
同pstSrc |
【返回值】
返回值 |
描述 |
---|---|
0 |
成功 |
非0 |
失败 |
【需求】
头文件:cvi_comm_ive.h cvi_ive.h
3.16. Sub¶
【描述】
创建两灰度图像相减任务。
【语法】
CVI_S32 CVI_IVE_Sub(IVE_HANDLE pIveHandle, IVE_SRC_IMAGE_S *pstSrc1, IVE_SRC_IMAGE_S *pstSrc2, IVE_DST_IMAGE_S *pstDst, IVE_SUB_CTRL_S *pstCtrl, CVI_BOOL bInstant);
【参数】
参数名称 |
描述 |
输入/输出 |
---|---|---|
pIveHandle |
handle指针。不能为空。 |
输入 |
pstSrc1 |
源图像1指针。不能为空。 |
输入 |
pstSrc2 |
源图像2指针。不能为空。 |
输出 |
pstDst |
输出幅值图像指针。 不能为空。 高、宽同 pstSrc1。 |
输出 |
pstCtrl |
控制信息指针。不能为空。 |
输入 |
bInstant |
及时返回结果标志。 |
输入 |
参数名称 |
支持图像类型 |
地址对齐 |
分辨率 |
---|---|---|---|
pstSrc1 |
U16C1 的二值图 |
1 byte |
64x64~1920x1024 |
pstSrc2 |
U16C1 |
1 byte |
同pstSrc |
pstDst |
U8C1 |
1 byte |
同pstSrc |
【返回值】
返回值 |
描述 |
---|---|
0 |
成功 |
非0 |
失败 |
【需求】
头文件:cvi_comm_ive.h cvi_ive.h
3.17. Or¶
【描述】
创建两二值图像相或任务。
【语法】
CVI_S32 CVI_IVE_Or(IVE_HANDLE pIveHandle, IVE_SRC_IMAGE_S *pstSrc1, IVE_SRC_IMAGE_S *pstSrc2, IVE_DST_IMAGE_S *pstDst, IVE_OR_CTRL_S *pstCtrl,CVI_BOOL bInstant);
【参数】
参数名称 |
描述 |
输入/输出 |
---|---|---|
pIveHandle |
handle指针。不能为空。 |
输入 |
pstSrc1 |
源图像1指针。不能为空。 |
输入 |
pstSrc2 |
源图像2指针。不能为空。 |
输出 |
pstDst |
输出幅值图像指针。 不能为空。 高、宽同 pstSrc1。 |
输出 |
pstCtrl |
控制信息指针。不能为空。 |
输入 |
bInstant |
及时返回结果标志。 |
输入 |
参数名称 |
支持图像类型 |
地址对齐 |
分辨率 |
---|---|---|---|
pstSrc1 |
U16C1 的二值图 |
1 byte |
64x64~1920x1024 |
pstSrc2 |
U16C1 |
1 byte |
同pstSrc |
pstDst |
U8C1 |
1 byte |
同pstSrc |
【返回值】
返回值 |
描述 |
---|---|
0 |
成功 |
非0 |
失败 |
【需求】
头文件:cvi_comm_ive.h cvi_ive.h
3.18. Map¶
【描述】
将一个影像透过一个映像表格映像到另一个影像。
【语法】
CVI_S32 CVI_IVE_Map(IVE_HANDLE pIveHandle, IVE_SRC_IMAGE_S *pstSrc, IVE_SRC_MEM_INFO_S *pstMap, IVE_DST_IMAGE_S *pstDst, IVE_MAP_CTRL_S *pstCtrl,CVI_BOOL bInstant);
【参数】
参数名称 |
描述 |
输入/输出 |
---|---|---|
pIveHandle |
handle指针。不能为空。 |
输入 |
pstSrc |
输入影像指针。不能为空。 |
输入 |
pstMap |
输入映像表格指针。不能为空。 |
输入 |
pstDst |
输出的影像指针。不能为空。高和宽同pstSrc。 |
输出 |
pstCtrl |
控制信息指针。不能为空。 |
输入 |
bInstant |
及时返回结果标志。 |
输入 |
【返回值】
返回值 |
描述 |
---|---|
0 |
成功 |
非0 |
失败 |
【需求】
头文件:cvi_comm_ive.h cvi_ive.h
3.19. OrdStatFilter¶
【描述】
用3x3的核寻找图片中的极大、极小值。
【语法】
CVI_S32 CVI_IVE_OrdStatFilter(IVE_HANDLE pIveHandle, IVE_SRC_IMAGE_S *pstSrc, IVE_DST_IMAGE_S *pstDst, IVE_ORD_STAT_FILTER_CTRL_S *pstCtrl,CVI_BOOL bInstant);
【参数】
参数名称 |
描述 |
输入/输出 |
---|---|---|
pIveHandle |
任务的handle。 |
输入 |
pstSrc |
输入影像指针。不能为空。 |
输入 |
pstDst |
输出的影像指针。不能为空。高和宽同pstSrc。 |
输出 |
pstCtrl |
控制信息指针。不能为空。 |
输入 |
bInstant |
及时返回结果标志。 |
输入 |
【返回值】
返回值 |
描述 |
---|---|
0 |
成功 |
非0 |
失败 |
【需求】
头文件:cvi_comm_ive.h cvi_ive.h
3.20. Integral¶
【描述】
创建灰度图像的积分图计算任务。
【语法】
CVI_S32 CVI_IVE_Integ(IVE_HANDLE pIveHandle, IVE_SRC_IMAGE_S *pstSrc, IVE_DST_MEM_INFO_S *pstDst, IVE_INTEG_CTRL_S *pstIntegCtrl, CVI_BOOL bInstant);
【参数】
参数名称 |
描述 |
输入/输出 |
---|---|---|
pIveHandle |
handle指针。不能为空。 |
输入 |
pstSrc |
源数据指针。不能为空。 |
输入 |
pstDst |
输出幅值图像指针。 不能为空。 高、宽同 pstSrc。 |
输出 |
pstIntegCtrl |
控制信息指针。不能为空。 |
输入 |
bInstant |
及时返回结果标志。 |
输入 |
参数名称 |
支持图像类型 |
地址对齐 |
分辨率 |
---|---|---|---|
pstSrc |
U8C1 |
16 byte |
64x64~1920x1024 |
pstDst |
U32C1, U64C1 |
16 byte |
同pstSrc |
【返回值】
返回值 |
描述 |
---|---|
0 |
成功 |
非0 |
失败 |
【需求】
头文件:cvi_comm_ive.h cvi_ive.h
3.21. Histogram¶
【描述】
创建灰度图像的直方图统计任务。
【语法】
CVI_S32 CVI_IVE_Hist(IVE_HANDLE pIveHandle, IVE_SRC_IMAGE_S *pstSrc, IVE_DST_MEM_INFO_S *pstDst, CVI_BOOL bInstant);
【参数】
参数名称 |
描述 |
输入/输出 |
---|---|---|
pIveHandle |
handle指针。不能为空。 |
输入 |
pstSrc |
源数据指针。不能为空。 |
输入 |
pstDst |
输出幅值图像指针。 不能为空。 高、宽同 pstSrc。 |
输出 |
bInstant |
及时返回结果标志。 |
输入 |
参数名称 |
支持图像类型 |
地址对齐 |
分辨率 |
---|---|---|---|
pstSrc |
U8C1 |
16 byte |
64x64~1920x1024 |
pstDst |
16 byte |
【返回值】
返回值 |
描述 |
---|---|
0 |
成功 |
非0 |
失败 |
【需求】
头文件:cvi_comm_ive.h cvi_ive.h
3.22. Add¶
【描述】
创建两灰度图像的加权加计算任务
【语法】
CVI_S32 CVI_IVE_Add(IVE_HANDLE pIveHandle, IVE_SRC_IMAGE_S *pstSrc1, , IVE_SRC_IMAGE_S *pstSrc2, IVE_DST_IMAGE_S *pstDst, IVE_ADD_CTRL_S *pstCtrl,CVI_BOOL bInstant);
【参数】
参数名称 |
描述 |
输入/输出 |
---|---|---|
pIveHandle |
handle指针。不能为空。 |
输入 |
pstSrc1 |
源数据指针。不能为空。 |
输入 |
pstSrc2 |
源数据指针。不能为空。 |
输入 |
pstDst |
输出幅值图像指针。 不能为空。 高、宽同 pstSrc。 |
输出 |
pstCtrl |
控制信息指针。不能为空。 |
输入 |
bInstant |
及时返回结果标志。 |
输入 |
参数名称 |
支持图像类型 |
地址对齐 |
分辨率 |
---|---|---|---|
pstSrc |
U8C1 |
16 byte |
64x64~1920x1024 |
pstDst |
16 byte |
【返回值】
返回值 |
描述 |
---|---|
0 |
成功 |
非0 |
失败 |
【需求】
头文件:cvi_comm_ive.h cvi_ive.h
3.23. Xor¶
【描述】
创建两二值图的异或计算任务
【语法】
CVI_S32 CVI_IVE_Xor(IVE_HANDLE pIveHandle, IVE_SRC_IMAGE_S *pstSrc1, IVE_SRC_IMAGE_S *pstSrc2, IVE_DST_IMAGE_S *pstDst, CVI_BOOL bInstant);
【参数】
参数名称 |
描述 |
输入/输出 |
---|---|---|
pIveHandle |
handle指针。不能为空。 |
输入 |
pstSrc1 |
源图像1指针。不能为空。 |
输入 |
pstSrc2 |
源图像2指针。不能为空。高宽同 pstSrc1 |
|
pstDst |
输出幅值图像指针。 不能为空。 高、宽同 pstSrc1。 |
输出 |
bInstant |
及时返回结果标志。 |
输入 |
参数名称 |
支持图像类型 |
地址对齐 |
分辨率 |
---|---|---|---|
pstSrc1 |
U8C1 |
1 byte |
64x64~1920x1024 |
pstSrc2 |
U8C1 |
1 byte |
同pstSrc |
pstDst |
1 byte |
同pstSrc |
【返回值】
返回值 |
描述 |
---|---|
0 |
成功 |
非0 |
失败 |
【需求】
头文件:cvi_comm_ive.h cvi_ive.h
3.24. Match BgModel¶
【描述】
输入当前影像和模型,取得前景数据。
【语法】
CVI_S32 CVI_IVE_MatchBgModel(IVE_HANDLE pIveHandle, IVE_SRC_IMAGE_S *pstCurImg, IVE_DATA_S *pstBgModel, IVE_IMAGE_S *pstFgFlag, IVE_DST_IMAGE_S *pstDiffFg, IVE_DST_MEM_INFO_S *pstStatData, IVE_MATCH_BG_MODEL_CTRL_S *pstCtrl, CVI_BOOL bInstant);
【参数】
参数名称 |
描述 |
输入/输出 |
---|---|---|
pIveHandle |
handle指针。不能为空。 |
输入 |
pstCurImg |
当前影像。 |
输入 |
pstBgModel |
模型。 |
输入/输出 |
pstFgFlag |
前景状态影像。 |
输入/输出 |
pstDiffFg |
前景影像。 |
输出 |
pstStatData |
前景状态 |
输出 |
pstCtrl |
控制结构 |
输入 |
bInstant |
及时返回结果标志。 |
输入 |
参数名称 |
支持图像类型 |
地址对齐 |
分辨率 |
---|---|---|---|
pstCurImg |
U8C1 |
1 byte |
|
pstBgModel |
1 byte |
||
pstFgFlag |
U8C1 |
1 byte |
|
pstDiffFg |
S8C1 |
1 byte |
|
pstStatData |
1 byte |
【返回值】
返回值 |
描述 |
---|---|
0 |
成功 |
非0 |
失败 |
【需求】
头文件:cvi_comm_ive.h cvi_ive.h
3.25. Update BgModel¶
【描述】
更新背景模型。
【语法】
CVI_S32 CVI_IVE_UpdateBgModel(IVE_HANDLE pIveHandle, IVE_DATA_S *pstBgModel, IVE_IMAGE_S *pstFgFlag, IVE_DST_IMAGE_S *pstBgImg, IVE_DST_IMAGE_S *pstChaSta, IVE_DST_MEM_INFO_S *pstStatData, IVE_MATCH_BG_MODEL_CTRL_S *pstCtrl, CVI_BOOL bInstant);
【参数】
参数名称 |
描述 |
输入/输出 |
---|---|---|
pIveHandle |
handle指针。不能为空。 |
输入 |
pstBgModel |
模型 |
输入/输出 |
pstFgFlag |
前景状态影像。 |
输入/输出 |
pstBgImg |
背景影像。 |
输出 |
pstChaSta |
前景更新状态影像。 |
输出 |
pstStatData |
背景状态 |
输出 |
pstCtrl |
控制结构 |
输入 |
bInstant |
及时返回结果标志。 |
输入 |
参数名称 |
支持图像类型 |
地址对齐 |
分辨率 |
---|---|---|---|
pstBgModel |
1 byte |
||
pstFgFlag |
U8C1 |
1 byte |
|
pstBgImg |
U8C1 |
1 byte |
|
pstChaSta |
S8C1 |
1 byte |
|
pstStatData |
1 byte |
【返回值】
返回值 |
描述 |
---|---|
0 |
成功 |
非0 |
失败 |
【需求】
头文件:cvi_comm_ive.h cvi_ive.h
3.26. Gradient of Foreground¶
【描述】
根据背景梯度影像和当前影像,计算前景图梯度影像。
【语法】
CVI_S32 CVI_IVE_GradFg(IVE_HANDLE pIveHandle, IVE_SRC_IMAGE_S *pstBgDiffFg, IVE_SRC_IMAGE_S *pstCurGrad, IVE_SRC_IMAGE_S *pstBgGrad,IVE_DST_IMAGE_S *pstGradFg, IVE_GRAD_FG_ CTRL_S *pstCtrl, CVI_BOOL bInstant);
【参数】
参数名称 |
描述 |
输入/输出 |
---|---|---|
pIveHandle |
handle指针。不能为空。 |
输入 |
pstBgDiffFg |
前景影像 |
输入 |
pstCurGrad |
当前梯度影像 |
输入 |
pstBgGrad |
背景梯度影像 |
输入 |
pstGradFg |
前景梯度影像 |
输出 |
pstCtrl |
控制结构 |
输入 |
bInstant |
及时返回结果标志。 |
输入 |
参数名称 |
支持图像类型 |
地址对齐 |
分辨率 |
---|---|---|---|
pstBgDiffFg |
S8C1 |
1byte |
|
pstCurGrad |
S8 C2_PACKAGE |
1byte |
|
pstBgGrad |
S8 C2_PACKAGE |
1byte |
|
pstGradFg |
S8C1 |
1byte |
【返回值】
返回值 |
描述 |
---|---|
0 |
成功 |
非0 |
失败 |
【需求】
头文件:cvi_comm_ive.h cvi_ive.h
3.27. GMM¶
【描述】
建立GMM背景模型任务。
【语法】
CVI_S32 CVI_IVE_GMM(IVE_HANDLE pIveHandle, IVE_SRC_IMAGE_S *pstSrc, IVE_DST_IMAGE_S *pstFg, IVE_DST_IMAGE_S *pstBg, IVE_MEM_INFO_S *pstModel,IVE_GMM_CTRL_S *pstCtrl, CVI_BOOL bInstant);
【参数】
参数名称 |
描述 |
输入/输出 |
---|---|---|
pIveHandle |
handle指针。不能为空。 |
输入 |
pstSrc |
输入影像。 |
输入 |
pstFg |
前景影像。 |
输出 |
pstBg |
背景影像。 |
输出 |
pstModel |
模型数据。 |
输入/输出 |
pstCtrl |
控制结构 |
输入 |
bInstant |
及时返回结果标志。 |
输入 |
参数名称 |
支持图像类型 |
地址对齐 |
分辨率 |
---|---|---|---|
pstModel |
1byte |
||
pstSrc |
U8C1或U8C3_PACKAGE |
1byte |
|
pstFg |
U8C1二值化影像 |
1 byte |
|
pstBg |
U8 C1或U8C3_PACKAGE |
1byte |
【返回值】
返回值 |
描述 |
---|---|
0 |
成功 |
非0 |
失败 |
【需求】
头文件:cvi_comm_ive.h cvi_ive.h
3.28. GMM2¶
【描述】
建立GMM背景模型任务。
【语法】
CVI_S32 CVI_IVE_GMM2(IVE_HANDLE pIveHandle, IVE_SRC_IMAGE_S *pstSrc, IVE_SRC_IMAGE_S *pstFactor, IVE_DST_IMAGE_S *pstFg, IVE_DST_IMAGE_S *pstBg,IVE_DST_IMAGE_S *pstMatchModelInfo, IVE_MEM_INFO_S *pstModel, IVE_GMM _CTRL_S *pstCtrl, CVI_BOOL bInstant);
【参数】
参数名称 |
描述 |
输入/输出 |
---|---|---|
pIveHandle |
handle指针。不能为空。 |
输入 |
pstSrc |
输入影像。 |
输入 |
pstFactor |
模型更新系数 |
输入 |
pstFg |
前景影像。 |
输出 |
pstBg |
背景影像。 |
输出 |
pstMatchModelInfo |
模型匹配系数 |
输出 |
pstModel |
模型数据。 |
输入/输出 |
pstCtrl |
控制结构 |
输入 |
bInstant |
及时返回结果标志。 |
输入 |
参数名称 |
支持图像类型 |
地址对齐 |
分辨率 |
---|---|---|---|
pstModel |
1byte |
||
pstFactor |
U16C1 |
1byte |
|
pstSrc |
U8C1或U8C3_PACKAGE |
1byte |
|
pstFg |
U8 C1二值化影像 |
1byte |
|
pstBg |
U8C1或U8C3_PACKAGE |
1byte |
|
pstMatchModelInfo |
U8C1 |
1byte |
【返回值】
返回值 |
描述 |
---|---|
0 |
成功 |
非0 |
失败 |
【需求】
头文件:cvi_comm_ive.h cvi_ive.h
3.29. Bernsen¶
【描述】
建立Bernsen二值化算法任务。
【语法】
CVI_S32 CVI_IVE_Bernsen(IVE_HANDLE pIveHandle, IVE_SRC_IMAGE_S *pstSrc, IVE_DST_IMAGE_S *pstDst, IVE_BERNSEN_CTRL_S *pstCtrl, CVI_BOOL bInstant);
【参数】
参数名称 |
描述 |
输入/输出 |
---|---|---|
pIveHandle |
handle指针。不能为空。 |
输入 |
pstSrc |
输入影像。 |
输入 |
pstDst |
结果影像。 |
输出 |
pstCtrl |
控制结构 |
输入 |
bInstant |
及时返回结果标志。 |
输入 |
参数名称 |
支持图像类型 |
地址对齐 |
分辨率 |
---|---|---|---|
pstSrc |
U8C1 |
1byte |
|
pstDst |
U8C1二值化影像 |
1 byte |
【返回值】
返回值 |
描述 |
---|---|
0 |
成功 |
非0 |
失败 |
【需求】
头文件:cvi_comm_ive.h cvi_ive.h
3.30. NCC¶
【描述】
创建两相同分辨率灰度图像的归一化互相关系数计算任务
【语法】
CVI_S32 CVI_IVE_NCC(IVE_HANDLE pIveHandle, IVE_SRC_IMAGE_S *pstSrc1, IVE_SRC_IMAGE_S *pstSrc2, IVE_DST_MEM_INFO_S *pstDst, CVI_BOOL bInstant);
【参数】
参数名称 |
描述 |
输入/输出 |
---|---|---|
pIveHandle |
handle指针。不能为空。 |
输入 |
pstSrc1 |
源1图像指针。不能为空。 |
输入 |
pstSrc2 |
源2图像指针。不能为空。 |
输入 |
pstDst |
输出数据指针。不能为空。内存至少需配置:sizeof(IVE_NCC_DST_MEM_S)。 |
输出 |
bInstant |
及时返回结果标志。 |
输入 |
参数名称 |
支持图像类型 |
地址对齐 |
分辨率 |
---|---|---|---|
pstSrc1 |
U8C1 |
1byte |
64x64~1920x1024 |
pstSrc2 |
U8C1 |
1byte |
同pstSrc |
pstDst |
16 byte |
【返回值】
返回值 |
描述 |
---|---|
0 |
成功 |
非0 |
失败 |
【需求】
头文件:cvi_comm_ive.h cvi_ive.h
3.31. LBP¶
【描述】
创建 LBP 计算任务
【语法】
CVI_S32 CVI_IVE_LBP(IVE_HANDLE pIveHandle, IVE_SRC_IMAGE_S *pstSrc, IVE_DST_IMAGE_S * pstDst, IVE_LBP_CTRL_S *pstCtrl, CVI_BOOL bInstant);
【参数】
参数名称 |
描述 |
输入/输出 |
---|---|---|
pIveHandle |
handle指针。不能为空。 |
输入 |
pstSrc |
源图像指针。不能为空。 |
输入 |
pstDst |
输出数据指针。不能为空。内存至少需配置:sizeof(IVE_NCC_DST_MEM_S)。 | |
输出 |
pstCtrl |
控制参数指针。不能为空。 |
输入 |
bInstant |
及时返回结果标志。 |
输入 |
参数名称 |
支持图像类型 |
地址对齐 |
分辨率 |
---|---|---|---|
pstSrc1 |
U8C1 |
1byte |
64x64~1920x1024 |
pstSrc2 |
U8C1 |
1byte |
同pstSrc |
pstDst |
16 byte |
【返回值】
返回值 |
描述 |
---|---|
0 |
成功 |
非0 |
失败 |
【需求】
头文件:cvi_comm_ive.h cvi_ive.h
3.32. SAD¶
【描述】
计算两幅图像SAD。
【语法】
CVI_S32 CVI_IVE_SAD(IVE_HANDLE pIveHandle, IVE_SRC_IMAGE_S *pstSrc1, IVE_SRC_IMAGE_S *pstSrc2, IVE_DST_IMAGE_S *pstSad, IVE_DST_IMAGE_S *pstThr, IVE_SAD_CTRL_S *pstCtrl, CVI_BOOL bInstant);
【参数】
参数名称 |
描述 |
输入/输出 |
---|---|---|
pIveHandle |
handle指针。不能为空。 |
输入 |
pstSrc1 |
源1图像指针。不能为空。 |
输入 |
pstSrc2 |
源2图像指针。不能为空。高和宽同pstSrc1 |
输入 |
pstSad |
输出SAD图像指针。
根据pstSad Ctrl→enOutCtrl,若需要输出则不能为空。
根据 pstSadCtrl→enMode,对应4x4、8x8、16x16 分块模式,高、
宽分别为 pstSrc1 的1/4、1/8、1/16。
|
输出 |
pstThr |
输出 SAD 阈值化图像指针。
根据pstSad Ctrl→enOutCtrl,若需要输出则不能为空。
根据pstSadCtrl→enMode,对应4x4、8x8、16x16 分块模式,高、
宽分别为 pstSrc1 的1/4、1/8、1/16。
|
输出 |
pstCtrl |
控制信息指针。 不能为空。 |
输入 |
bInstant |
及时返回结果标志。 |
输入 |
参数名称 |
支持图像类型 |
地址对齐 |
分辨率 |
---|---|---|---|
pstSrc1 |
U8C1 |
1byte |
64x64~1920x1024 |
pstSrc2 |
U8C1 |
1byte |
同pstSrc1 |
pstSad |
U8C1、U16C1 |
16byte |
根据 pstSadCtrl→enMode,对应 4x4、8x8、16x16分块 模式,高、 宽分别为pstSrc1 的1/4、1/8、1/16。 |
pstThr |
U8C1 |
16 byte |
根据 pstSadCtrl→enMode,对应 4x4、8x8、16x16分块 模式,高、宽分 别为pstSrc1 的1/4、1/8、1/16。 |
【返回值】
返回值 |
描述 |
---|---|
0 |
成功 |
非0 |
失败 |
【需求】
头文件:cvi_comm_ive.h cvi_ive.h
3.33. BufFlush¶
【描述】
对于使用CVI_IVE_CreateImage_Cached建立的图像,在IVE硬件存取影像的内容前,须使用此函式将cache data 放到 RAM。
【语法】
CVI_S32 CVI_IVE_BufFlush(IVE_HANDLE pIveHandle, IVE_IMAGES_S *pstImg);
【参数】
参数名称 |
描述 |
输入/输出 |
---|---|---|
pIveHandle |
任务的handle。 |
输入 |
pstImg |
操作的影像内容。 |
输入 |
【返回值】
返回值 |
描述 |
---|---|
0 |
成功 |
非0 |
失败 |
【需求】
头文件:cvi_comm_ive.h cvi_ive.h
3.34. BufRequest¶
【描述】
对于使用CVI_IVE_CreateImage_Cached建立的图像,在RISC-V存取u64VirAddr所指向的内容前,须使用此函式将Ram内容更新到cache。
【语法】
CVI_S32 CVI_IVE_BufRequest(IVE_HANDLE pIveHandle, IVE_IMAGES_S *pstImg);
【参数】
参数名称 |
描述 |
输入/输出 |
---|---|---|
pIveHandle |
任务的handle。 |
输入 |
pstImg |
操作的影像内容。 |
输入 |
【返回值】
返回值 |
描述 |
---|---|
0 |
成功 |
非0 |
失败 |
【需求】
头文件:cvi_comm_ive.h cvi_ive.h
3.35. CreateMemInfo¶
【描述】
创造一块内存供IVE_MEM_S结构使用。
【语法】
CVI_S32 CVI_IVE_CreateMemInfo(IVE_HANDLE pIveHandle, IVE_MEM_INFO_S *pstMemInfo, CVI_U32 u32ByteSize);
【参数】
参数名称 |
描述 |
输入/输出 |
---|---|---|
pIveHandle |
任务的handle。 |
输入 |
pstMemInfo |
创建的记忆体结构。不能为空。 |
输入 |
u32ByteSize |
记忆体结构的byte容量 |
输入 |
【返回值】
返回值 |
描述 |
---|---|
0 |
成功 |
非0 |
失败 |
【需求】
头文件:cvi_comm_ive.h cvi_ive.h
3.36. CreateDataInfo¶
【描述】
创造一块内存供IVE_DATA_S结构使用。
【语法】
CVI_S32 CVI_IVE_CreateDataInfo(IVE_HANDLE pIveHandle, IVE_DATA_S *pstDataInfo, CVI_U16 u16Width, CVI_U16 u16Height);
【参数】
参数名称 |
描述 |
输入/输出 |
---|---|---|
pIveHandle |
任务的handle。 |
输入 |
pstDataInfo |
创建的IVE_DATA_S结构。不能为空。 |
输入 |
u16Width |
Data的宽 |
输入 |
u16Height |
Data的高 |
输入 |
【返回值】
返回值 |
描述 |
---|---|
0 |
成功 |
非0 |
失败 |
【需求】
头文件:cvi_comm_ive.h cvi_ive.h
3.37. CreateImage¶
【描述】
创造一块影像内存供使用。 用此函数建立的影像会自动映像u64PhyAddr和u64VirAddr的内容。无需对cache进行Flush或Invalidate。
【语法】
CVI_S32 CVI_IVE_CreateImage(IVE_HANDLE pIveHandle, IVE_IMAGE_S *pstImg, IVE_IMAGE_TYPE_E enType, CVI_U16 u16Width, CVI_U16 u16Height);
【参数】
参数名称 |
描述 |
输入/输出 |
---|---|---|
pIveHandle |
任务的handle。 |
输入 |
pstImg |
创建给影像用的记忆体结构。 |
输出 |
enType |
创建的影像记忆体格式 |
输入 |
u16Width |
影像的宽 |
输入 |
u16Height |
影像的高 |
输入 |
【返回值】
返回值 |
描述 |
---|---|
0 |
成功 |
非0 |
失败 |
【需求】
头文件:cvi_comm_ive.h cvi_ive.h
3.38. CreateImage with Cache¶
【描述】
创造一块影像内存供使用。 用此函数建立的影像需要使用CVI_IVE_BufFlush和CVI_IVE_BufRequest更新u64PhyAddr和u64VirAddr的内容。
【语法】
CVI_S32 CVI_IVE_CreateImage_Cached(IVE_HANDLE pIveHandle, IVE_IMAGE_S *pstImg, IVE_IMAGE_TYPE_E enType, CVI_U32 u32Width,
CVI_U32 u32Height);
【参数】
参数名称 |
描述 |
输入/输出 |
---|---|---|
pIveHandle |
任务的handle。 |
输入 |
pstImg |
创建给影像用的记忆体结构。 |
输出 |
enType |
创建的影像记忆体格式 |
输入 |
u32Width |
影像的宽 |
输入 |
u32Height |
影像的高 |
输入 |
【返回值】
返回值 |
描述 |
---|---|
0 |
成功 |
非0 |
失败 |
【需求】
头文件:cvi_comm_ive.h cvi_ive.h
3.39. ResetImage¶
【描述】
将Image内容填入特定值。
【语法】
CVI_S32 CVI_IVE_ResetImage(IVE_HANDLE pIveHandle, IVE_IMAGE_S *pstImg, CVI_U8 val);
【参数】
参数名称 |
描述 |
输入/输出 |
---|---|---|
pIveHandle |
任务的handle。 |
输入 |
pstImg |
创建给影像用的记忆体结构。 |
输出 |
val |
预填入影像的值 |
输入 |
【返回值】
返回值 |
描述 |
---|---|
0 |
成功 |
非0 |
失败 |
【需求】
头文件:cvi_comm_ive.h cvi_ive.h
3.40. ReadImageArray¶
【描述】
从buffer读入影像。
【语法】
CVI_S32 CVI_IVE_ReadImageArray (IVE_HANDLE pIveHandle, IVE_IMAGE_S *pstImage, char *pBuffer, IVE_IMAGE_TYPE_E enType,
CVI_U16 u16Width, CVI_U16 u16Height);
【参数】
参数名称 |
描述 |
输入/输出 |
---|---|---|
pIveHandle |
任务的handle。 |
输入 |
pstImage |
创建给影像用的记忆体结构。 |
输出 |
pBuffer |
Buffer |
输入 |
enType |
创建的影像记忆体格式 |
输入 |
u16Width |
影像的宽 |
输入 |
u16Height |
影像的高 |
输入 |
【返回值】
返回值 |
描述 |
---|---|
0 |
成功 |
非0 |
失败 |
【需求】
头文件:cvi_comm_ive.h cvi_ive.h
3.41. ReadMem¶
【描述】
从档案读入到IVE_DATA_S结构。
【语法】
CVI_S32 CVI_IVE_ReadMem(IVE_HANDLE pIveHandle, IVE_MEM_INFO_S *pstMem, const char *filename, CVI_U32 uSize);
【参数】
参数名称 |
描述 |
输入/输出 |
---|---|---|
pIveHandle |
任务的handle。 |
输入 |
pstMem |
IVE_MEM_INFO_S结构。 |
输出 |
filename |
档案路径 |
输入 |
u32Size |
Mem 大小 |
输入 |
【返回值】
返回值 |
描述 |
---|---|
0 |
成功 |
非0 |
失败 |
【需求】
头文件:cvi_comm_ive.h cvi_ive.h
3.42. ReadMemArray¶
【描述】
从buffer读入数据到IVE_MEM_INFO_S结构。
【语法】
CVI_S32 CVI_IVE_ReadMemArray (IVE_HANDLE pIveHandle, IVE_MEM_INFO_S *pstMem, char *pBuffer, CVI_U32 uSize);
【参数】
参数名称 |
描述 |
输入/输出 |
---|---|---|
pIveHandle |
任务的handle。 |
输入 |
pstMem |
IVE_MEM_INFO_S结构。 |
输出 |
pBuffer |
Buffer |
输入 |
u32Size |
Buffer大小 |
输入 |
【返回值】
返回值 |
描述 |
---|---|
0 |
成功 |
非0 |
失败 |
【需求】
头文件:cvi_comm_ive.h cvi_ive.h
3.43. ReadData¶
【描述】
从档案读入到IVE_DATA_S结构。
【语法】
CVI_S32 CVI_IVE_ReadData(IVE_HANDLE pIveHandle, IVE_DATA_S *pstData, const char *filename, CVI_U16 u16Width, CVI_U16 u16Height);
【参数】
参数名称 |
描述 |
输入/输出 |
---|---|---|
pIveHandle |
任务的handle。 |
输入 |
pstData |
IVE_DATA_S结构。 |
输出 |
filename |
档案路径 |
输入 |
u16Width |
Data的宽 |
输入 |
u16Height |
Data的高 |
输入 |
【返回值】
返回值 |
描述 |
---|---|
0 |
成功 |
非0 |
失败 |
【需求】
头文件:cvi_comm_ive.h cvi_ive.h
3.44. ReadDataArray¶
【描述】
从buffer读入数据到IVE_DATA_S结构。
【语法】
CVI_S32 CVI_IVE_ReadDataArray (IVE_HANDLE pIveHandle, IVE_DATA_S *pstData, char *pBuffer, CVI_U16 u16Width, CVI_U16 u16Height);
【参数】
参数名称 |
描述 |
输入/输出 |
---|---|---|
pIveHandle |
任务的handle。 |
输入 |
pstData |
IVE_DATA_S结构。 |
输出 |
pBuffer |
Buffer |
输入 |
u16Width |
Data的宽 |
输入 |
u16Height |
Data的高 |
输入 |
【返回值】
返回值 |
描述 |
---|---|
0 |
成功 |
非0 |
失败 |
【需求】
头文件:cvi_comm_ive.h cvi_ive.h
3.45. ReadImage¶
【描述】
从档案位置读取一张影像。
【语法】
IVE_IMAGE_S CVI_IVE_ReadImage(IVE_HANDLE pIveHandle, const char *filename, IVE_IMAGE_TYPE_E enType);
【参数】
参数名称 |
描述 |
输入/输出 |
---|---|---|
pIveHandle |
任务的handle。 |
输入 |
filename |
影像档案名称 |
输入 |
enType |
希望拿到的影像格式 |
【返回值】
返回值 |
描述 |
---|---|
0 |
成功 |
非0 |
失败 |
【需求】
头文件:cvi_comm_ive.h cvi_ive.h
3.46. ReadRawImage¶
【描述】
从档案位置读取一张Raw Image。
【语法】
IVE_IMAGE_S CVI_IVE_ReadRawImage(IVE_HANDLE pIveHandle, const char *filename, IVE_IMAGE_TYPE_E enType, CVI_U16 u16Width, CVI_U16 u16Height);
【参数】
参数名称 |
描述 |
输入/输出 |
---|---|---|
pIveHandle |
任务的handle。 |
输入 |
filename |
影像档案名称 |
输入 |
enType |
希望拿到的影像格式 |
输入 |
u16Width |
影像宽。 |
输入 |
u16Height |
影像高。 |
输入 |
【返回值】
返回值 |
描述 |
---|---|
0 |
成功 |
非0 |
失败 |
【需求】
头文件:cvi_comm_ive.h cvi_ive.h
3.47. WriteData¶
【描述】
写入IVE_DATA_S内容到档案位置。
【语法】
CVI_S32 CVI_IVE_WriteData(IVE_HANDLE pIveHandle, const char *filename, IVE_DATA_S *pstData);
【参数】
参数名称 |
描述 |
输入/输出 |
---|---|---|
pIveHandle |
任务的handle。 |
输入 |
filename |
储存的档案位置及档名 |
输入 |
pstData |
要储存的内容 |
输出 |
【返回值】
返回值 |
描述 |
---|---|
0 |
成功 |
非0 |
失败 |
【需求】
头文件:cvi_comm_ive.h cvi_ive.h
3.48. WriteMem¶
【描述】
写入IVE_MEM_INFO_S内容到档案位置。
【语法】
CVI_S32 CVI_IVE_WriteData(IVE_HANDLE pIveHandle, const char *filename, IVE_MEM_INFO_S *pstMem);
【参数】
参数名称 |
描述 |
输入/输出 |
---|---|---|
pIveHandle |
任务的handle。 |
输入 |
filename |
储存的档案位置及档名 |
输入 |
pstMem |
要储存的内容 |
输出 |
【返回值】
返回值 |
描述 |
---|---|
0 |
成功 |
非0 |
失败 |
【需求】
头文件:cvi_comm_ive.h cvi_ive.h
3.49. WriteImage¶
【描述】
写入一张PNG影像到档案位置。
【语法】
CVI_S32 CVI_IVE_WriteImage(IVE_HANDLE pIveHandle, const char *filename, IVE_IMAGE_S *pstImg);
【参数】
参数名称 |
描述 |
输入/输出 |
---|---|---|
pIveHandle |
任务的handle。 |
输入 |
filename |
储存的档案位置及档名 |
输入 |
pstImg |
要储存的影像内容 |
输出 |
【返回值】
返回值 |
描述 |
---|---|
0 |
成功 |
非0 |
失败 |
【需求】
头文件:cvi_comm_ive.h cvi_ive.h
3.50. WriteRawImage¶
【描述】
写入一张影像到档案位置。
【语法】
CVI_S32 CVI_IVE_WriteImg(IVE_HANDLE pIveHandle, const char *filename, IVE_IMAGE_S *pstImg);
【参数】
参数名称 |
描述 |
输入/输出 |
---|---|---|
pIveHandle |
任务的handle。 |
输入 |
filename |
储存的档案位置及档名 |
输入 |
pstImg |
要储存的影像内容 |
输出 |
【返回值】
返回值 |
描述 |
---|---|
0 |
成功 |
非0 |
失败 |
【需求】
头文件:cvi_comm_ive.h cvi_ive.h
3.51. Reset Register¶
【描述】
重置IVE的缓存器为默认值。
【语法】
CVI_S32 CVI_IVE_RESET(IVE_HANDLE pIveHandle, int select);
【参数】
参数名称 |
描述 |
输入/输出 |
---|---|---|
pIveHandle |
任务的handle。 |
输入 |
select |
要重置的IVE Module |
输入 |
【返回值】
返回值 |
描述 |
---|---|
0 |
成功 |
非0 |
失败 |
【需求】
头文件:cvi_comm_ive.h cvi_ive.h
3.52. Dump Register¶
【描述】
输出IVE的缓存器值到Log。
【语法】
CVI_S32 CVI_IVE_DUMP(IVE_HANDLE pIveHandle);
【参数】
参数名称 |
描述 |
输入/输出 |
---|---|---|
pIveHandle |
任务的handle。 |
输入 |
【返回值】
返回值 |
描述 |
---|---|
0 |
成功 |
非0 |
失败 |
【需求】
头文件:cvi_comm_ive.h cvi_ive.h
3.53. Split DiffFg of BgModel¶
【描述】
从BgModel的结果取出DiffFg,并储存成YUV影像。
【语法】
CVI_S32 CVI_IVE_DiffFg_Split(IVE_HANDLE pIveHandle, IVE_SRC_IMAGE_S *pstDiffFg, IVE_DST_IMAGE_S *pstBGDiffFg, IVE_DST_IMAGE_S *pstFrmDiffFg);
【参数】
参数名称 |
描述 |
输入/输出 |
---|---|---|
pIveHandle |
任务的handle。 |
输入 |
pstDiffFg |
输入 |
|
pstBGDiffFg |
输出 |
|
pstFrmDiffFg |
输出 |
【返回值】
返回值 |
描述 |
---|---|
0 |
成功 |
非0 |
失败 |
【需求】
头文件:cvi_comm_ive.h cvi_ive.h
3.54. Split ChgSta of BgModel¶
【描述】
从BgModel的结果取出ChgSta,并储存成YUV影像。
【语法】
CVI_S32 CVI_IVE_DiffFg_Split(IVE_HANDLE pIveHandle, IVE_SRC_IMAGE_S *pstChgSta, IVE_DST_IMAGE_S *pstChgStaImg, IVE_DST_IMAGE_S *pstChgStaFg,IVE_DST_IMAGE_S *pstChStaLift);
【参数】
参数名称 |
描述 |
输入/输出 |
---|---|---|
pIveHandle |
任务的handle。 |
输入 |
pstChgSta |
输入 |
|
pstChgStaImg |
输出 |
|
pstChgStaFg |
输出 |
|
pstChStaLift |
输出 |
【返回值】
返回值 |
描述 |
---|---|
0 |
成功 |
非0 |
失败 |
【需求】
头文件:cvi_comm_ive.h cvi_ive.h
3.55. Query Tasks¶
【描述】
查询现有Task状态。
【语法】
CVI_S32 CVI_IVE_QUERY(IVE_HANDLE pIveHandle, CVI_BOOL *pbFinish, CVI_BOOL bBlock);
【参数】
参数名称 |
描述 |
输入/输出 |
---|---|---|
pIveHandle |
任务的handle。 |
输入 |
pbFinish |
回传task是否结束 |
输出 |
bBlock |
True表示blocked task |
输出 |
【返回值】
返回值 |
描述 |
---|---|
0 |
成功 |
非0 |
失败 |
【需求】
头文件:cvi_comm_ive.h cvi_ive.h
3.56. Image2VideoFrameInfo¶
【描述】
将IVE影像格式转换成Video Frame Info格式。
【语法】
CVI_S32 CVI_IVE_Image2VideoFrameInfo(IVE_IMAGE_S *pstIISrc, VIDEO_FRAME_INFO_S *pstVFIDst);
【参数】
参数名称 |
描述 |
输入/输出 |
---|---|---|
pstIISrc |
输入的影像内容 |
输入 |
pstVFIDst |
输出的影像内容 |
输出 |
【返回值】
返回值 |
描述 |
---|---|
0 |
成功 |
非0 |
失败 |
【需求】
头文件:cvi_comm_ive.h cvi_ive.h
3.57. VideoFrameInfo2Image¶
【描述】
将Video Frame Info影像格式转换成IVE格式。
【语法】
CVI_S32 CVI_IVE_VideoFrameInfo2Image(VIDEO_FRAME_INFO_S *pstVFISrc, IVE_IMAGE_S *pstIIDst);
【参数】
参数名称 |
描述 |
输入/输出 |
---|---|---|
pstIISrc |
输入的影像内容 |
输入 |
pstVFIDst |
输出的影像内容 |
输出 |
【返回值】
返回值 |
描述 |
---|---|
0 |
成功 |
非0 |
失败 |
【需求】
头文件:cvi_comm_ive.h cvi_ive.h
3.58. FreeM¶
【描述】
释放一块IVE_MEM_INFO_S结构。
【语法】
CVI_S32 CVI_SYS_FreeM(IVE_HANDLE pIveHandle, IVE_MEM_INFO_S *pstMem);
【参数】
参数名称 |
描述 |
输入/输出 |
---|---|---|
pIveHandle |
任务的handle。 |
输入 |
pstMem |
要释放的记忆体结构 |
输入 |
【返回值】
返回值 |
描述 |
---|---|
0 |
成功 |
非0 |
失败 |
【需求】
头文件:cvi_comm_ive.h cvi_ive.h
3.59. FreeI¶
【描述】
释放一张IVE_IMAGE_S结构。
【语法】
CVI_S32 CVI_SYS_FreeI(IVE_HANDLE pIveHandle, IVE_IMAGE_S *pstImg);
【参数】
参数名称 |
描述 |
输入/输出 |
---|---|---|
pIveHandle |
任务的handle。 |
输入 |
pstImg |
输入影像。 |
输入 |
【返回值】
返回值 |
描述 |
---|---|
0 |
成功 |
非0 |
失败 |
【需求】
头文件:cvi_comm_ive.h cvi_ive.h
3.60. FreeD¶
【描述】
释放IVE_DATA_S结构。
【语法】
CVI_S32 CVI_SYS_FreeD(IVE_HANDLE pIveHandle, IVE_DATA_S *pstData);
【参数】
参数名称 |
描述 |
输入/输出 |
---|---|---|
pIveHandle |
任务的handle。 |
输入 |
pstData |
输入Data。 |
输入 |
【返回值】
返回值 |
描述 |
---|---|
0 |
成功 |
非0 |
失败 |
【需求】
头文件:cvi_comm_ive.h cvi_ive.h
3.61. Thresh_S16¶
【描述】
创建S16数据到8bit数据的阀值化任务。
【语法】
CVI_S32 CVI_IVE_Thresh_S16(IVE_HANDLE pIveHandle, IVE_SRC_IMAGE_S *pstSrc, IVE_DST_IMAGE_S *pstDst, IVE_THRESH_S16_CTRL_S *pstThrS16Ctrl, CVI_BOOL bInstant);
【参数】
参数名称 |
描述 |
输入/输出 |
---|---|---|
pIveHandle |
任务的handle。 |
输入 |
pstSrc |
输入影像指针。不能为空。 |
输入 |
pstDst |
输出的影像指针。不能为空。高和宽同pstSrc。 |
输出 |
pstCtrl |
门坎值参数结构指针,不能为空。 |
输入 |
bInstant |
参考值 |
输出 |
【返回值】
返回值 |
描述 |
---|---|
0 |
成功 |
非0 |
失败 |
【需求】
头文件:cvi_comm_ive.h cvi_ive.h
3.62. Thresh_U16¶
【描述】
创建U16数据到8bit数据的阀值化任务。
【语法】
CVI_S32 CVI_IVE_Thresh_U16(IVE_HANDLE pIveHandle, IVE_SRC_IMAGE_S *pstSrc, IVE_DST_IMAGE_S *pstDst, IVE_THRESH_U16_CTRL_S *pstCtrl, CVI_BOOL bInstant);
【参数】
参数名称 |
描述 |
输入/输出 |
---|---|---|
pIveHandle |
任务的handle。 |
输入 |
pstSrc |
输入影像指针。不能为空。 |
输入 |
pstDst |
输出的影像指针。不能为空。高和宽同pstSrc。 |
输出 |
pstCtrl |
门坎值参数结构指针,不能为空。 |
输入 |
bInstant |
参考值 |
输出 |
【返回值】
返回值 |
描述 |
---|---|
0 |
成功 |
非0 |
失败 |
【需求】
头文件:cvi_comm_ive.h cvi_ive.h
3.63. Resize¶
【描述】
创建影像Resize任务,支持Bilinear Interpolation及Area Interpolation方法。
【语法】
CVI_S32 CVI_IVE_Resize(IVE_HANDLE pIveHandle, IVE_SRC_IMAGE_S astSrc[], IVE_DST_IMAGE_S astDst[], IVE_RESIZE_CTRL_S *pstCtrl, CVI_BOOL bInstant);
【参数】
参数名称 |
描述 |
输入/输出 |
---|---|---|
pIveHandle |
任务的handle。 |
输入 |
astSrc |
输入影像数组。不能为空。 |
输入 |
astDst |
输出的影像数输出组。不能为空。影像类型必须和astSrc相同 |
输出 |
pstCtrl |
门坎值参数结构指针,不能为空。 |
输入 |
bInstant |
参考值 |
输出 |
参数名称 |
支持图像类型 |
地址对齐 |
分辨率 |
---|---|---|---|
astSrc |
U 8C1或U8C3_PLANAR |
1byte |
|
astDst |
U 8C1或U8C3_PLANAR |
1byte |
【返回值】
返回值 |
描述 |
---|---|
0 |
成功 |
非0 |
失败 |
【需求】
头文件:cvi_comm_ive.h cvi_ive.h
3.64. 16BitTo8Bit¶
【描述】
创建16bit图像数据到8bit图像数据的线性化任务。
【语法】
CVI_S32 CVI_IVE_16BitTo8Bit (IVE_HANDLE pIveHandle, IVE_SRC_IMAGE_S *pstSrc, IVE_DST_IMAGE_S *pstDst, IVE_16BIT_TO_8BIT_CTRL_S *pstCtrl, bool bInstant);
【参数】
参数名称 |
描述 |
输入/输出 |
---|---|---|
pIveHandle |
任务的handle。 |
输入 |
pstSrc |
输入影像指针。不能为空。 |
输入 |
pstDst |
输出的影像指针。不能为空。高和宽同pstSrc。 |
输出 |
pstCtrl |
门坎值参数结构指针,不能为空。 |
输入 |
bInstant |
参考值 |
输出 |
【返回值】
返回值 |
描述 |
---|---|
0 |
成功 |
非0 |
失败 |
【需求】
头文件:cvi_comm_ive.h cvi_ive.h
3.65. RGB YUV Erode to Dilate¶
【描述】
【语法】
CVI_S32 CVI_IVE_rgbPToYuvToErodeToDilate(IVE_HANDLE pIveHandle, IVE_SRC_IMAGE_S *pstSrc, IVE_DST_IMAGE_S *pstDst1, IVE_DST_IMAGE_S *pstDst2,IVE_FILTER_CTRL_S *pstCtrl, CVI_BOOL bInstant);
【参数】
参数名称 |
描述 |
输入/输出 |
---|---|---|
pIveHandle |
任务的handle。 |
输入 |
pstSrc |
输入影像指针。不能为空。 |
输入 |
pstDst1 |
输出的影像指针。不能为空。高和宽同pstSrc。 |
输出 |
pstDst2 |
输出的影像指针。不能为空。高和宽同pstSrc。 |
输出 |
pstCtrl |
门坎值参数结构指针,不能为空。 |
输入 |
bInstant |
参考值 |
输出 |
【返回值】
返回值 |
描述 |
---|---|
0 |
成功 |
非0 |
失败 |
【需求】
头文件:cvi_comm_ive.h cvi_ive.h
3.66. STCandiCorner¶
【描述】
计算候选角点。
【语法】
CVI_S32 CVI_IVE_STCandiCorner(IVE_HANDLE pIveHandle, IVE_SRC_IMAGE_S *pstSrc, IVE_DST_IMAGE_S *pstDst, IVE_ST_CANDI_CORNER_CTRL_S *pstCtrl,CVI_BOOL bInstant);
【参数】
参数名称 |
描述 |
输入/输出 |
---|---|---|
pIveHandle |
任务的handle。 |
输入 |
pstSrc |
输入影像指针。不能为空。 |
输入 |
pstDst |
输出的影像指针。不能为空。高和宽同pstSrc。 |
输出 |
pstCtrl |
门坎值参数结构指针,不能为空。 |
输入 |
bInstant |
参考值 |
输出 |
【返回值】
返回值 |
描述 |
---|---|
0 |
成功 |
非0 |
失败 |
【需求】
头文件:cvi_comm_ive.h cvi_ive.h
3.67. Background Subtraction¶
【描述】
创建背景相减法任务。
【语法】
CVI_S32 CVI_IVE_FrameDiffMotion(IVE_HANDLE pIveHandle, IVE_SRC_IMAGE_S *pstSrc1, IVE_SRC_IMAGE_S *pstSrc2, IVE_DST_IMAGE_S *pstDst,IVE_FRAME_DIFF_MOTION_CTRL_S *pstCtrl, CVI_BOOL bInstant);
【参数】
参数名称 |
描述 |
输入/输出 |
---|---|---|
pIveHandle |
任务的handle。 |
输入 |
pstSrc1 |
输入影像指针。不能为空。 |
输入 |
pstSrc2 |
输入影像指针。不能为空。 |
输入 |
pstDst |
输出的影像指针。不能为空。高和宽同pstSrc。 |
输出 |
pstCtrl |
门坎值参数结构指针,不能为空。 |
输入 |
bInstant |
参考值 |
输出 |
【返回值】
返回值 |
描述 |
---|---|
0 |
成功 |
非0 |
失败 |
【需求】
头文件:cvi_comm_ive.h cvi_ive.h