HI3518E平台ISP调试环境搭建

2024-09-03 06:38

本文主要是介绍HI3518E平台ISP调试环境搭建,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

海思的SDK提供了ISP调试的相关工具,降低了IPC开发ISP调试的难度。初次搭建ISP调试环境,记录一下。

SDK版本:Hi3518_MPP_V1.0.A.0 

硬件平台:HI3518E_OV9732

工具包:PQ_TOOL     (Hi3518E_V100R001C01SPC0A0\01.software\pc\PQ_TOOL)

文件说明:Hi3518_ITTB_MPP2_V1.0.A.0_B030.tgz 设备端工具 ; PQTools_V3.7.5.zip PC端工具

环境搭建步骤:

(1)将Hi3518_ITTB_MPP2_V1.0.A.0_B030.tgz拷贝至nfs共享目录名,解压后运行HiIspTool.sh脚本

倘若用海思自带的工具出图像并调节ISP运行:

#./HiIspTool.sh -a -p ov9732_720p_line.ini 

ps一下可以看到两个进程

696 adminlvj 58488 S    ./ittb_stream -p ov9732_720p_line.ini
699 adminlvj 19676 S    ./ittb_control

倘若运行自己的工程出图像了,这时只需要运行一下命令即可。

#./HiIspTool.sh -a

ps一下可以看到一个进程

699 adminlvj 19676 S    ./ittb_control


(2)PC端直接解压PQTools_V3.7.5.zip,运行HiPQTools.exe,输入选择sdk版本Hi3518_MPP_V1.0.A.0 ,输入设备IP,就可以连接上摄像头



倘若运行了ittb_stream,可以PC端软件上打开视频图像窗口



连接成功,至此,最简单的ISP调试环境搭建就完成了。复杂的就是后面的ISP调节过程了。


备注:

运行脚本的时候可能会报错,查看相关打印信息,将错误消除。当前产品我们用的是HI3518E+OV9732,SDK中并没有提供相关的sensor库和相关的config文件,所以运行报错了!

解决:将OV9732sensor库拷贝至Hi3518_ITTB_MPP2_V1.0.A.0/libs/下,将ov9732_720p_line.ini拷贝至Hi3518_ITTB_MPP2_V1.0.A.0/configs/下


附录:

ov9732_720p_line.ini

[sensor]
Sensor_type   =ov9732                          ;the type of sensor
Mode          =0                               ;LINE mode,mode = 0 ,WDR mode,mode =1
DllFile   =libs/libsns_ov9732.so               ;LineDllFile path[vi_dev]
Input_mod =2    ;VI_INPUT_MODE_BT656 = 0;VI_INPUT_MODE_BT601,;VI_INPUT_MODE_DIGITAL_CAMERAWork_mod =0     ;VI_WORK_MODE_1Multiplex = 0;VI_WORK_MODE_2Multiplex,;VI_WORK_MODE_4MultiplexCombine_mode =0 ;Y/C composite or separation mode;VI_COMBINE_COMPOSITE = 0 /*Composite mode */;VI_COMBINE_SEPARATE,     /*Separate mode */Comp_mode    =0 ;Component mode (single-component or dual-component);VI_COMP_MODE_SINGLE = 0, /*single component mode */;VI_COMP_MODE_DOUBLE = 1, /*double component mode */Clock_edge   =1 ;Clock edge mode (sampling on the rising or falling edge);VI_CLK_EDGE_SINGLE_UP=0, /*rising edge */;VI_CLK_EDGE_SINGLE_DOWN, /*falling edge */Mask_num     =2 ;Component maskMask_0       =0xFFC00000   Mask_1       =0x0Scan_mode    = 1;VI_SCAN_INTERLACED = 0;VI_SCAN_PROGRESSIVE,Data_seq     =2 ;data sequence (ONLY for YUV format);----2th component U/V sequence in bt1120;    VI_INPUT_DATA_VUVU = 0,;    VI_INPUT_DATA_UVUV,;----input sequence for yuv;    VI_INPUT_DATA_UYVY = 0,;    VI_INPUT_DATA_VYUY,;    VI_INPUT_DATA_YUYV,;    VI_INPUT_DATA_YVYUVsync   =1      ; vertical synchronization signal;VI_VSYNC_FIELD = 0, ;VI_VSYNC_PULSE,VsyncNeg=0      ;Polarity of the vertical synchronization signal;VI_VSYNC_NEG_HIGH = 0, ;VI_VSYNC_NEG_LOW /*if VIU_VSYNC_E Hsync  =0       ;Attribute of the horizontal synchronization signal;VI_HSYNC_VALID_SINGNAL = 0,;VI_HSYNC_PULSE,HsyncNeg =0     ;Polarity of the horizontal synchronization signal;VI_HSYNC_NEG_HIGH = 0, ;VI_HSYNC_NEG_LOWVsyncValid =0   ;Attribute of the valid vertical synchronization signal;VI_VSYNC_NORM_PULSE = 0,;VI_VSYNC_VALID_SINGAL, VsyncValidNeg =0;Polarity of the valid vertical synchronization signal;VI_VSYNC_VALID_NEG_HIGH = 0,;VI_VSYNC_VALID_NEG_LOW Timingblank_HsyncHfb =0     ;Horizontal front blanking widthTimingblank_HsyncAct =1280  ;Horizontal effetive widthTimingblank_HsyncHbb =0     ;Horizontal back blanking widthTimingblank_VsyncVfb =0     ;Vertical front blanking heightTimingblank_VsyncVact =720  ;Vertical effetive widthTimingblank_VsyncVbb=0      ;Vertical back blanking heightTimingblank_VsyncVbfb =0    ;Even-field vertical front blanking height(interlace, invalid progressive)Timingblank_VsyncVbact=0    ;Even-field vertical effetive width(interlace, invalid progressive)Timingblank_VsyncVbbb =0    ;Even-field vertical back blanking height(interlace, invalid progressive);----- only for bt656 ----------
FixCode   =0    ;BT656_FIXCODE_1 = 0,;BT656_FIXCODE_0 FieldPolar=0    ;BT656_FIELD_POLAR_STD = 0;BT656_FIELD_POLAR_NSTDDataPath  =1    ;ISP enable or bypass;VI_PATH_BYPASS    = 0,/* ISP bypass */;VI_PATH_ISP       = 1,/* ISP enable */;VI_PATH_RAW       = 2,/* Capture raw data, for debug */InputDataType=1 ;VI_DATA_TYPE_YUV = 0,VI_DATA_TYPE_RGB = 1,DataRev      =FALSE ;Data reverse. FALSE = 0; TRUE = 1[vi_chn]CapRect_X    =0 CapRect_Y    =0CapRect_Width=1280CapRect_Height=720DestSize_Width=1280DestSize_Height=720CapSel       =2 ;Frame/field select. ONLY used in interlaced mode;VI_CAPSEL_TOP = 0,                  /* top field */;VI_CAPSEL_BOTTOM,                   /* bottom field */;VI_CAPSEL_BOTH,                     /* top and bottom field */PixFormat    =19                                 ;SrcFrameRate=-1 ;Source frame rate. -1: not controllFrameRate   =-1 ;Target frame rate. -1: not controll[vpss_group]
Vpss_DrEn   =FALSEVpss_DbEn   =FALSEVpss_IeEn   =TRUEVpss_NrEn   =TRUEVpss_HistEn =TRUEVpss_DieMode=0  ;Define de-interlace mode;VPSS_DIE_MODE_AUTO  = 0,;VPSS_DIE_MODE_NODIE = 1,;VPSS_DIE_MODE_DIE   = 2,[vpss_chn]
Vpss_W    =1280
Vpss_H    =720[isp_image]Isp_W      =1280Isp_H      =720Isp_FrameRate=30Isp_Bayer  =3   ;BAYER_RGGB=0, BAYER_GRBG=1, BAYER_GBRG=2, BAYER_BGGR=3 [isp_timing]Isp_WndMode=0   ;WIND_NONE= 0,WIND_HOR= 1,WIND_VER= 2,WIND_ALL= 3,Isp_HorWndStart=0  Isp_HorWndLength=1280Isp_VerWndStart=0   Isp_VerWndLength=720[vb_conf]VbCnt=8[venc]RcMode   =VENC_RC_MODE_H264CBRGop    =30  StatTime =1  ViFrmRate  =30 TargetFrmRate=25
;----- only for VENC_RC_MODE_H264CBR ----------
BitRate=4096
FluctuateLevel=1
;----- only for VENC_RC_MODE_H264VBR ----------
MaxBitRate =10000MaxQp=32MinQp=24
;----- only for VENC_RC_MODE_H264FIXQP ----------
IQp=20PQp=23[bind]ViDev   =0ViChn   =0VpssGrp =0VpssChn = 0VencGrp =0VencChn =0VoDev   =0VoChn   =0ViSnapChn =0VpssSnapGrp=0VpssSnapChn=1VencSnapGrp=1VencSnapChn=1






这篇关于HI3518E平台ISP调试环境搭建的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1132306

相关文章

Java中的Opencv简介与开发环境部署方法

《Java中的Opencv简介与开发环境部署方法》OpenCV是一个开源的计算机视觉和图像处理库,提供了丰富的图像处理算法和工具,它支持多种图像处理和计算机视觉算法,可以用于物体识别与跟踪、图像分割与... 目录1.Opencv简介Opencv的应用2.Java使用OpenCV进行图像操作opencv安装j

C++中实现调试日志输出

《C++中实现调试日志输出》在C++编程中,调试日志对于定位问题和优化代码至关重要,本文将介绍几种常用的调试日志输出方法,并教你如何在日志中添加时间戳,希望对大家有所帮助... 目录1. 使用 #ifdef _DEBUG 宏2. 加入时间戳:精确到毫秒3.Windows 和 MFC 中的调试日志方法MFC

mysql-8.0.30压缩包版安装和配置MySQL环境过程

《mysql-8.0.30压缩包版安装和配置MySQL环境过程》该文章介绍了如何在Windows系统中下载、安装和配置MySQL数据库,包括下载地址、解压文件、创建和配置my.ini文件、设置环境变量... 目录压缩包安装配置下载配置环境变量下载和初始化总结压缩包安装配置下载下载地址:https://d

将Python应用部署到生产环境的小技巧分享

《将Python应用部署到生产环境的小技巧分享》文章主要讲述了在将Python应用程序部署到生产环境之前,需要进行的准备工作和最佳实践,包括心态调整、代码审查、测试覆盖率提升、配置文件优化、日志记录完... 目录部署前夜:从开发到生产的心理准备与检查清单环境搭建:打造稳固的应用运行平台自动化流水线:让部署像

gradle安装和环境配置全过程

《gradle安装和环境配置全过程》本文介绍了如何安装和配置Gradle环境,包括下载Gradle、配置环境变量、测试Gradle以及在IntelliJIDEA中配置Gradle... 目录gradle安装和环境配置1 下载GRADLE2 环境变量配置3 测试gradle4 设置gradle初始化文件5 i

Mycat搭建分库分表方式

《Mycat搭建分库分表方式》文章介绍了如何使用分库分表架构来解决单表数据量过大带来的性能和存储容量限制的问题,通过在一对主从复制节点上配置数据源,并使用分片算法将数据分配到不同的数据库表中,可以有效... 目录分库分表解决的问题分库分表架构添加数据验证结果 总结分库分表解决的问题单表数据量过大带来的性能

Java汇编源码如何查看环境搭建

《Java汇编源码如何查看环境搭建》:本文主要介绍如何在IntelliJIDEA开发环境中搭建字节码和汇编环境,以便更好地进行代码调优和JVM学习,首先,介绍了如何配置IntelliJIDEA以方... 目录一、简介二、在IDEA开发环境中搭建汇编环境2.1 在IDEA中搭建字节码查看环境2.1.1 搭建步

Python基于火山引擎豆包大模型搭建QQ机器人详细教程(2024年最新)

《Python基于火山引擎豆包大模型搭建QQ机器人详细教程(2024年最新)》:本文主要介绍Python基于火山引擎豆包大模型搭建QQ机器人详细的相关资料,包括开通模型、配置APIKEY鉴权和SD... 目录豆包大模型概述开通模型付费安装 SDK 环境配置 API KEY 鉴权Ark 模型接口Prompt

在 VSCode 中配置 C++ 开发环境的详细教程

《在VSCode中配置C++开发环境的详细教程》本文详细介绍了如何在VisualStudioCode(VSCode)中配置C++开发环境,包括安装必要的工具、配置编译器、设置调试环境等步骤,通... 目录如何在 VSCode 中配置 C++ 开发环境:详细教程1. 什么是 VSCode?2. 安装 VSCo

鸿蒙开发搭建flutter适配的开发环境

《鸿蒙开发搭建flutter适配的开发环境》文章详细介绍了在Windows系统上如何创建和运行鸿蒙Flutter项目,包括使用flutterdoctor检测环境、创建项目、编译HAP包以及在真机上运... 目录环境搭建创建运行项目打包项目总结环境搭建1.安装 DevEco Studio NEXT IDE