海思IVE使用模板总结(FILE->IVE->FILE)

对单张图片进行处理

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <errno.h>
#include <fcntl.h>
#include <sys/mman.h>
#include <sys/stat.h>
#include <sys/types.h>
#include <unistd.h>
#include <signal.h>
#include <semaphore.h>
#include <pthread.h>
#include <math.h>
#include "sample_comm_ive.h"


//需要用到的文件和处理过程中的图片
typedef struct hiSAMPLE_IVE_TEST_S	
{
    
    IVE_SRC_IMAGE_S stSrc;       //input frame
	IVE_DST_IMAGE_S stDst;       //output frame 
	  
	FILE* pFpSrc;   //read from pFpSrc
    FILE* pFpDst;   //write to pFpDst 
}SAMPLE_IVE_TEST_S;

static SAMPLE_IVE_TEST_S s_stTest;

//解除初始化,释放初始化时申请的内存
static HI_VOID SAMPLE_IVE_Test_Uninit(SAMPLE_IVE_TEST_S *pstTest)
{
   
    IVE_MMZ_FREE(pstTest->stSrc.au64PhyAddr[0], pstTest->stSrc.au64VirAddr[0]);
    IVE_MMZ_FREE(pstTest->stDst.au64PhyAddr[0], pstTest->stDst.au64VirAddr[0]);

    IVE_CLOSE_FILE(pstTest->pFpSrc);
    IVE_CLOSE_FILE(pstTest->pFpDst);
}

//初始化,申请内存
static HI_S32 SAMPLE_IVE_Test_Init(SAMPLE_IVE_TEST_S *pstTest, HI_U32 u32Width, HI_U32 u32Height, HI_CHAR *pchSrcFileName, HI_CHAR *pchDstFileName)
{
   
	HI_S32 s32Ret;

	memset(pstTest, 0, sizeof(SAMPLE_IVE_TEST_S));
 	
	s32Ret = HI_FAILURE;

    pstTest->pFpSrc = fopen(pchSrcFileName, "rb");
    SAMPLE_CHECK_EXPR_GOTO(NULL == pstTest->pFpSrc, TEST_INIT_FAIL, "Error,Open file %s failed!\n", pchSrcFileName);

    pstTest->pFpDst = fopen(pchDstFileName, "wb");
    SAMPLE_CHECK_EXPR_GOTO(NULL == pstTest->pFpDst, TEST_INIT_FAIL, "Error,Open file %s failed!\n", pchDstFileName);

    s32Ret = HI_SUCCESS;    

    s32Ret = SAMPLE_COMM_IVE_CreateImage(&(pstTest->stSrc), IVE_IMAGE_TYPE_U8C1, u32Width, u32Height);
    SAMPLE_CHECK_EXPR_GOTO(HI_SUCCESS != s32Ret, TEST_INIT_FAIL, "Error(%#x),Create Src image failed!\n", s32Ret);

    s32Ret = SAMPLE_COMM_IVE_CreateIma
  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
这是一个命令行程序,通过运行 `./sample_vio` 命令启动,会列出多个模式选择。这个程序的功能是基于海思芯片的视频输入输出和处理,选择不同的模式可以测试不同的功能。 具体的模式解释如下: 1. all mode route:所有模式的线性路由,包括视频输入在线/离线,视频处理在线/离线,多路复用方式为线性模式。这种模式适用于多种场景。 2. wdr route:宽动态范围(WDR)模式,视频输入在线,视频处理离线,多路复用方式为线性模式。这种模式适用于需要处理宽动态范围视频的场景。 3. fpn calibrate & correct:前景亮点校正(FPN)校正和校正,视频输入在线,视频处理在线,多路复用方式为线性模式。这种模式适用于需要去除前景亮点的场景。 4. dis & 3dnr(VPSS):数字图像稳定(DIS)和三维数字降噪(3DNR)处理,视频输入在线,视频处理在线,多路复用方式为线性模式。这种模式适用于需要进行数字图像稳定和降噪处理的场景。 5. 3dnr(VI) & ldc:三维数字降噪(3DNR)和镜头畸变校正(LDC)处理,视频输入在线,视频处理在线,多路复用方式为线性模式。这种模式适用于需要进行数字降噪和镜头畸变校正处理的场景。 6. low delay:低延迟处理,视频输入在线,视频处理在线,多路复用方式为低延迟模式。这种模式适用于需要低延迟处理的场景,如实时视频通话等。 7. user pic:自定义图像处理,视频输入离线,视频处理在线,多路复用方式为线性模式。这种模式适用于需要处理自定义图像的场景。 8. two sensor:双摄像头模式,视频输入离线,视频处理在线,多路复用方式为线性模式。这种模式适用于需要处理双摄像头视频的场景。 9. switch mode:模式切换测试,从线性模式切换到WDR模式,视频输入在线,视频处理离线,多路复用方式为线性模式或WDR模式。这种模式适用于需要测试模式切换的场景。 10. switch resolution:分辨率切换测试,从FHD分辨率切换到720P分辨率或从4K分辨率切换到FHD分辨率,视频输入在线,视频处理在线,多路复用方式为线性模式。这种模式适用于需要测试分辨率切换的场景。 在程序提示输入时,选择相应的模式即可。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值