介绍fisheye开发参考_第1页
介绍fisheye开发参考_第2页
介绍fisheye开发参考_第3页
介绍fisheye开发参考_第4页
介绍fisheye开发参考_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

03(2017012章,HIMPIFISHEYEGenVertex3章,新增RECTS,FISHEYEREGIONATTRS、FISHEYEGPUPRIS改02(20160601(201512FishFish目前 1概 1 1 1 1 3 5API参 1数据类 1注意事 1 表1-3普通校正模型参

鱼眼校正模块(FisheyeCorrection)GPU进行鱼眼镜头失真校正的00112PTZPan,相对中心点左右移动,180180表PTZTile,相对中心点上下移动,180180表u32HorZoom代表水平方向可视区域的大小,4095代表选中区域最u32VerZoom代表垂直方向可视区域的大小,4095代表选中区域最--u32HorZoomu32VerZoom移动,大于180表示向右移动;移动,大于180表示向上移动;u32HorZoom代表水平方向可视区域的大小,4095代表选中区域最大,<4095则选000010输出图的中线与X当前版本,360度全景校正只关心--0X轴正半轴为中心,90表示输出图像以Y轴负半轴为中心,180表示输出图像以X轴负半轴为中心,270表示输出图像以Y一整圈,2048表示选定弧度180度;表1-3普通校正模型参数-以壁装模式为例00222中心,小于180表示视角向左旋180上移动。180表示以输入图中心为中心,小于180表示视角向下旋大小,4095代表选中区域最大,--移动,大于180表示向右移动;移动,大于180表示向上移动;APIHI_S320头文件:hifisheyeapi.h、hicommHIMPIFISHEYEHI_S32HI_MPI_FISHEYE_DeInit0头文件:hifisheyeapi.h、hicommHIMPIFISHEYEDeInitHIMPIFISHEYEInitHIMPIFISHEYEHI_HANDLE头文件:hifisheyeapi.h、hicommHIMPIFISHEYECreateHIMPIFISHEYEInitHIMPIFISHEYEHI_S32HI_MPI_FISHEYE_Destroy(HI_HANDLE0头文件:hifisheyeapi.h、hicommHIMPIFISHEYEDestroyHIMPIFISHEYEInitHIMPIFISHEYECreateHIMPIFISHEYEHI_S32HI_MPI_FISHEYE_SetFisheyeConfig(HI_HANDLEhFishEyeLDC,constFISHEYE_CONFIG_S*pstFishEyeConfig);0头文件:hifisheyeHIMPIFISHEYEHI_S32HI_MPI_FISHEYE_GetFisheyeConfig(HI_HANDLEhFishEyeLDC,FISHEYE_CONFIG_S*pstFishEyeConfig);0头文件:hifisheyeapi.h、hicommHIMPIFISHEYEHI_S32HI_MPI_FISHEYE_SetFisheyeAttr(HI_HANDLEhFishEyeLDC,constFISHEYE_ATTR_S*pstFishEyeAttr);0头文件:hifisheyeapi.h、hicommHIMPIFISHEYESetFisheyeAttrHIMPIFISHEYEInitHI_HANDLEhFishEyeLDC;FISHEYE_ATTR_SsTestAttr;VIDEO_FRAME_SsVidIn,sVidOut;/*InitFishEyemodule*//*Createhandle memset((void*)&sTestAttr,0,memset((void*)&sVidIn,0,memset((void*)&sVidOut,0,//prepareattr /*Usergeneratevertexbuffertostorecoordinateshere/*Setfisheyeattributes /*Generatethecorrectioncoordinate*/HI_MPI_FISHEYE_GenVertex(hTest,&sTestAttr,sVidIn.u32Width,/*begincorrection*/HI_MPI_FISHEYE_Correction(hFishEyeLDC,&sVidIn,&sVidOut);/*Destroyhandle*//*Userfreevertexbufferhere.../*Destroymodule*/HIMPIFISHEYEHI_S32HI_MPI_FISHEYE_GetFisheyeAttr(HI_HANDLEhFishEyeLDC,FISHEYE_ATTR_S*pstFishEyeAttr);0头文件:hifisheyeapi.h、hicommHIMPIFISHEYEGetFisheyeAttrHIMPIFISHEYEInitHIMPIFISHEYE,…*sizeof(float)*2HI_S32HI_MPI_FISHEYE_GenVertex(HI_HANDLEhFishEyeLDC,*pstFishEyeAttr,HI_U32u32InputWidth,HI_U320头文件:hifisheyeapi.h、hicommHIMPIFISHEYEGenVertexHIMPIFISHEYEInitstOutRect.u32Height*sizeof(float)*2。HI_S32HI_MPI_FISHEYE_Correction(HI_HANDLEhFishEyeLDC,*pstInput,VIDEO_FRAME_S0头文件:hifisheyeapi.h、hicommHIMPIFISHEYECorrectionHIMPIFISHEYEInitFISHEYEMOUNTMODEEFISHEYEATTRS:定义FishEyeVIDEOFRAMES:定义FishEye

typedef typedefstruct{ au16LMFCoef[128];/*LMFcoefficientoffisheyelen*/HIMPIFISHEYEHIMPIFISHEYEtypedefenum{ /*desktopmountmode*/ /*ceilingmountmode*/ /*wallmountmodeFISHEYEDESKTOPFISHEYECEILINGFISHEYEWALLFISHEYEMOUNTMODEHIMPIFISHEYEHIMPIFISHEYEtypedefenum{ /*360panoramamodeoffisheyecorrection*/ /*180panoramamodeoffisheyecorrection*/ /*normalmodeoffisheyecorrection*/ /*nofisheyecorrectionFISHEYEVIEW360FISHEYEVIEW180FISHEYEVIEWFISHEYENOFISHEYEVIEWMODEHIMPIFISHEYEHIMPIFISHEYEtypedefenum{ /*bilinearfilter*/ /*linearfilter*/ /*nearestfilter*/FISHEYEFILTERFISHEYEFILTERFISHEYEFILTERFISHEYEFILTERMODEHIMPIFISHEYEHIMPIFISHEYEtypedefstruct{ /*whetherenablefisheyecorrectionornot*/ /*whetherfisheyelen'sLMFcoefficientisfromuserconfigorfromdefaultlinearconfig*/ /*whetherusebackgroundcolorornot*/ /*thebackgroundcolorARGB8888[0,0xFFFFFF]*/ /*thehorizontaloffsetbetweenimagecenterandphysicalcenteroflen[-127,127]*/ /*theverticaloffsetbetweenimagecenterandphysicalcenteroflen[-127,127]*/ u32TrapezoidCoef;/*strengthcoefficientoftrapezoidcorrection*/ /*fisheyemountmode /*fisheyecorrectionregionnumber[1,FISHEYE_MAX_REGION_NUM]*/astFisheyeRegionAttr[FISHEYE_MAX_REGION_NUM];/*attributionoffisheyecorrectionregion*/HIMPIFISHEYEHIMPIFISHEYEtypedefstruct{ /*fisheyeviewmode*/ /*innerradiusoffisheyecorrectionregion[0,u32OutRadius) u32OutRadius;/*outradiusoffisheyecorrectionregion[1,max(width/2ofinputpicture,height/2ofinputpicture)]360]360]4095]4095] /*outputimageinfoafterfisheyecorrectionrangeofwidth[960,4608],rangeofheight[360,3456],rangofx[0,4608),rangeofy[0,3456) /*GPUrelatedattribute.forGPUuseHIMPIFISHEYEHIMPIFISHEYE输出图像亮度(Y)与色度(UV)分量进行插值处理,分别是Bilinear、Linear与方式。亮度与色度分量滤波方式的选择分别保存在enYFilter与enCbCrFilter中。的坐标点信息以浮点数的形式保存在u32CCMPhyAddr处。可参见API参考中HIMPIFISHEYEGenVertextypedefstruct{FISHEYE_FILTER_MODE_E /*FitermodeforLuma /*Fitermodeforchroma*/ u32CCMPhyAddr;/*Physicaladdressofcorrectioncoordinatememory,thesizeisregion'swidth*height*sizeof(float)*2.*/stOutRect.u32Width*stOutRect.u32Height*sizeof(float)*HIMPIFISHEYEHIMPIFISHEYEHIMPIFISHEYE

typedefstruct{HI_S32 /*HI_S32 HI_U32u32Width; /*矩形区域宽*/HI_U32 /*矩形区域高}++HIMPIFISHEYEHIMPIFISHEYEHIMPIFISHEYEtypedefstruct{ PIXEL_FORMAT_EenPixelFormat;VIDEO_FORMAT_EenVideoFormat; /*topoffsetofshowarea*/ s16OffsetBottom;/*bottomoffsetofshowarea*/ /*leftoffsetofshowarea*/ /*rightoffsetofshowarea*/ }拟地址,pVirAddr[1]为色度(U、V)分量虚拟地址。VIDEOFRAMES结构体中其他成员与鱼眼校正无关,故不在此文档中作过多说HIMPIFISHEYEFishEye模块支持YUV420semi-planarFishEyekds.ko、malikbase.kohidbe.ko协助进行内存分配工作,libOpenCL、libmalilibfisheye三个库文件,执行FishEye程序需要将GenPfuncs.bin文件放置到程序同一目录下。地址需要满足4K对齐条件。输出图像的生成过程中,通过GenVertex方法生成坐标后,GPU提供三种滤波方式对输出图像亮度(Y)与色度(UV)分量进行插值处理,分别是Bilinear、LinearNearest。这三

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论