Skip to content

Distortion correction of single image without checkerboard calibration.

License

Notifications You must be signed in to change notification settings

cuixing158/Single-Image-Undistort

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

基于无标定方式的单张图像去畸变

View Single-Image-Undistort on File Exchange Open in MATLAB Online

本仓库旨在实现单幅畸变图像矫正的非典型方法,适用轻微畸变和严重畸变,部分具体理论和实践可以参考此处pdf

Requirements

MathWorks Products (https://www.mathworks.com)

  • MATLAB 2022b or later
  • Automated Driving Toolbox™
  • Computer Vision Toolbox™
  • Image Processing Toolbox™
  • Optimization Toolbox™
  • Symbolic Math Toolbox™

一些示例

实现的方法根据实际畸变图像有所不同,大致分为以下两类。

1. 常规(常规意思指也可以通过标定板、厂家畸变表方式)图像去畸变

此类畸变可以通过getArcs.mlapp交互程序获得图像中的弧线数据,然后通过robustRectifyImage.m函数鲁棒性去畸变。当然也可以实验性通过编程方式去畸变参考脚本示例程序demo_undistortImage_synthetic.mlx,编程方式需要一些算法自动检测图像中的弧线。

为了便于直观可视化效果,特地的制作了动态调整$(x_c,y_c,\lambda)$三个系数的方式对一幅畸变图像进行调整的过程,有兴趣且想尝鲜的朋友可以到此处尝用 <此局域网web APP链接已失效,读者可以通过运行getArcs.mlapp本地访问APP!>

webAPP

2. 非常规去畸变

此类畸变比较棘手,因为不满足通常意义上的畸变,即使通过常规标定板方式矫正去畸变也达不到较好效果。故只能从某种几何意义上估算其畸变模型,正向和逆向公式得靠自估,一些示例性的程序脚本见demo_geoImageWarp.mlx,可以输出mapX,mapY映射坐标.

为便于对比,左边展示为畸变原图,右边为对应去畸变效果图。 compare1 compare2 compare3 compare4 compare5

References

[1] https://github.com/subeeshvasu/Awesome-Image-Distortion-Correction

[2] https://github.com/ethz-asl/image_undistort

[3] https://discorpy.readthedocs.io/en/latest/usage/demo_08.html#fig-75