欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

360Lib:CPP

程序员文章站 2022-03-16 15:09:20
...

360lib中采纳了多种投影格式,实际其中包含了CPP格式。在计算CPP-PSNR时,需要将视频转换到CPP格式下计算PSNR,CPP格式在360lib中只作为一种中间格式,没有给用户直接提供与其他格式转换的功能。


360lib中定义了CPP类TCrastersParabolic,是TEquiRect的派生类,包含了map2DTo3D(2D-3D转换)、map3DTo2D(3D-2D转换)和insideFace(判断点是否在有效图像区域)三个函数。大概是CPP格式只用于中间格式,没有具体做为输出格式,因此没有使用到3D-2D转换功能,map3DTo2D为空函数。map2DTo3D和insideFace是对具体公式的实现,不具体贴代码了。

class TCrastersParabolic : public TEquiRect
{
private:

public:
  TCrastersParabolic(SVideoInfo& sVideoInfo, InputGeoParam *pInGeoParam);
  virtual ~TCrastersParabolic() {};

  virtual Void map2DTo3D(SPos& IPosIn, SPos *pSPosOut);         //2D-3D
  virtual Void map3DTo2D(SPos *pSPosIn, SPos *pSPosOut);            //3D-2D
  virtual Bool insideFace(Int fId, Int x, Int y, ComponentID chId, ComponentID origchId);       //判断x,y位置是否在有效区域
};


CPP与其他格式的转换函数为geoConvert,实际geoConvert功能就是完成格式间的转换。

相关标签: 360