原始鱼眼图:在这里插入图片描述

等距投影by FOV.
在这里插入图片描述

等距投影 by FOV and Angle
在这里插入图片描述

方法二将在不久并入到 基于双鱼眼的全景视频图像拼接CV算法实战
我们统一采用opencv remap来加速, 在初始状态建立好remap需要的x坐标对应图和y坐标对应图。只要宽高不变, 每次矫正不耗时。


```python
class CycleToRect(object):


    def __init__(self, warp_w=cfg.INPUT_WIDTH, warp_h=cfg.INPUT_HEIGHT, input_w=cfg.INPUT_WIDTH, input_h=cfg.INPUT_HEIGHT, fov=cfg.FOV):
        if not(isinstance(warp_w, int) and isinstance(warp_h, int)and isinstance(input_w, int) and isinstance(input_h, int) and isinstance(fov, int)):
            LOGGER_T.logger.error('Get CycleToRect class params failed!!!')
            raise ValueError("CycleToRect class,init params type is wrong!!!")
        self._xmap, self._ymap = _buildmap(warp_w, warp_h, input_w,input_h, fov)
        LOGGER_T.logger.info('CycleToRect class Init success and generate xmap,ymap!')

    def __call__(self, img):
        if self._xmap is None or self._ymap is None:
            LOGGER_T.logger.error('Get CycleToRect class xmap or ymap is None!!!')
            raise ValueError("CycleToRect class,xmap or ymap is None!!!")
        img_rst = cv2.remap(img, self._xmap, self._ymap, cv2.INTER_LINEAR)
        return img_rst

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐