鱼眼全景矫正 Equirectangular Projection的两种方法 【补丁For 双鱼眼全景视频拼接】

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

等距投影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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

热血小蚂蚁

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值