NeRF从入门到放弃6:两种OpenCV去畸变模型

针孔相机和鱼眼相机的去畸变模型是不一样的。

针孔相机的畸变参数有12个,k1~k6是径向畸变参数,p1 p2是切向畸变,s1s4;而鱼眼相机是等距模型,畸变参数只有4个k1k4。

针孔相机

畸变分为径向畸变和切向畸变。

把相机平面坐标系下的点表示为极坐标(r,θ),则径向畸变表示径r变化δr,而切向变换表示角度θ变化δθ。

径向畸变是透镜改变了光线传播,使得光不再直线传播导致的;切向变换是由于透镜安装与成像平面不平行导致的。(SLAM 14讲)

此图是OpenCV官方文档示例https://docs.opencv.org/3.4/d9/d0c/group__calib3d.html,很清晰。

桶形畸变和枕形畸变

假设只有k1,如果k1大于0,则x'' = x'(1+k1r2),x''>x',去畸变后的图像会变大,为帧形畸变;反之为桶形畸变。

针孔相机去畸变函数

复制代码
cv2.undistort(image, K, distCoeffs)

distCoeffs格式为

也就是说,如果只传入4个参数,则是k1,k2,p1,p2,后面的参数都是0.

鱼眼相机

官方文档公式推导https://docs.opencv.org/3.4/db/d58/group__calib3d__fisheye.html

鱼眼相机去畸变函数

distCoeffs为k1,k2,k3,k4

pyhton 复制代码
image_undis = cv2.fisheye.undistortImage(image, K, distCoeffs, None,
                                                     np.copy(K))

  1. 图片去畸变
python 复制代码
def undistort_images(image_dir,
                     output_dir,
                     K,
                     distCoeffs,
                     is_equidistant: bool = False):
    for img in tqdm(sorted(os.listdir(image_dir))):
        image = cv2.imread(f'{image_dir}/{img}')
        if is_equidistant:
            image_undis = cv2.fisheye.undistortImage(image, K, distCoeffs, None,
                                                     np.copy(K))
        else:
            image_undis = cv2.undistort(image, K, distCoeffs)
        cv2.imwrite(f'{output_dir}/{img}', image_undis)
  1. 参考链接

​ 针对OpenCV官方文档的翻译:https://blog.csdn.net/Thomson617/article/details/103987952

相关推荐
乾元2 分钟前
AI 驱动的入侵检测与异常会话判别:从规则到行为分析前言:从“捕获敌人”到“守卫秩序”
运维·网络·人工智能·网络协议·安全
春日见4 分钟前
眼在手上外参标定保姆级教学(vscode + opencv)
linux·运维·服务器·数码相机·opencv·ubuntu·3d
泰迪智能科技0130 分钟前
分享|深化产教融合丨图书联合编写招募直播
人工智能
沐雪架构师37 分钟前
OpenAgents:让AI智能体Agent像人类一样联网协作
人工智能
我要充满正能量1 小时前
拥抱AI Coding,让我更自信能胜任我的工作
人工智能·ai编程·claude
安达发公司1 小时前
安达发|效率革命:APS自动排程,为“金属丛林”安装精准导航
大数据·运维·人工智能·aps高级排程·aps排程软件·安达发aps·aps自动排程
神州问学1 小时前
AI 智能体攻陷软件工程:从 SWE-Agent 到 SWE-Swiss,全景解析 AI4SE 最新战局
人工智能
森诺Alyson1 小时前
前沿技术借鉴研讨-2025.12.23(荟萃分析/信号提取/轻量级模型)
论文阅读·人工智能·经验分享·论文笔记·论文讨论
jimmyleeee1 小时前
人工智能基础知识笔记二十八:几款有用的LLM管理工具
人工智能·笔记·python
啊阿狸不会拉杆1 小时前
《数字图像处理》第 11 章 - 特征提取
图像处理·人工智能·算法·计算机视觉·数字图像处理