Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/cuixing158/single-image-undistort
Distortion correction of single image without checkerboard calibration.
https://github.com/cuixing158/single-image-undistort
algorithm algorithms bird-eye-view camera-model fisheye-image fisheye-undistorting image-processing image-rectification single-image-undistort undistortion
Last synced: 1 day ago
JSON representation
Distortion correction of single image without checkerboard calibration.
- Host: GitHub
- URL: https://github.com/cuixing158/single-image-undistort
- Owner: cuixing158
- License: bsd-2-clause
- Created: 2024-08-25T10:49:00.000Z (3 months ago)
- Default Branch: main
- Last Pushed: 2024-09-17T00:34:45.000Z (about 2 months ago)
- Last Synced: 2024-09-18T05:06:05.501Z (about 2 months ago)
- Topics: algorithm, algorithms, bird-eye-view, camera-model, fisheye-image, fisheye-undistorting, image-processing, image-rectification, single-image-undistort, undistortion
- Language: MATLAB
- Homepage:
- Size: 47.5 MB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# 基于无标定方式的单张图像去畸变
[![View Single-Image-Undistort on File Exchange](https://www.mathworks.com/matlabcentral/images/matlab-file-exchange.svg)](https://www.mathworks.com/matlabcentral/fileexchange/171764-single-image-undistort)
[![Open in MATLAB Online](https://www.mathworks.com/images/responsive/global/open-in-matlab-online.svg)](https://matlab.mathworks.com/open/github/v1?repo=cuixing158/Single-Image-Undistort)本仓库旨在实现单幅畸变图像矫正的非典型方法,适用轻微畸变和严重畸变,部分具体理论和实践可以参考[此处pdf](./undistortFisheyeFromSingleView.pdf)。
## Requirements
MathWorks Products ()
- MATLAB 2022b or later
- Automated Driving Toolbox™
- Computer Vision Toolbox™
- Image Processing Toolbox™
- Optimization Toolbox™
- Symbolic Math Toolbox™## 一些示例
- [普通广角/鱼眼镜头径向去畸变——除法模型动态调整实时求解](./demo_dynamicDistortCoff2.mlx)
- [非常规图像去畸变](./demo_geoImageWarp.mlx)
- [普通广角/鱼眼镜头径向畸变——除法模型逆变换代数求解](./demo_solve_inverse.mlx)
- [基于无需标定相机的方式直接对普通广角/超广角/鱼眼视频做BEV](./demo_undistortImage_BEV.mlx)
- [对去畸变后的图像建筑物"竖直倾斜"的直线进行矫正](./demo_undistortImage_perspective.mlx)
- [基于单系数除法模型对普通广角/鱼眼镜头图像去畸变实现](./demo_undistortImage_synthetic.mlx)实现的方法根据**实际畸变图像有所不同**,大致分为以下两类。
## 1. 常规(常规意思指也可以通过标定板、厂家畸变表方式)图像去畸变
此类畸变可以通过[getArcs.mlapp](./getArcs.mlapp)交互程序获得图像中的弧线数据,然后通过[robustRectifyImage.m](./robustRectifyImage.m)函数鲁棒性去畸变。当然也可以实验性通过编程方式去畸变参考脚本示例程序[demo_undistortImage_synthetic.mlx](./demo_undistortImage_synthetic.mlx),编程方式需要一些算法自动检测图像中的弧线。
***为了便于直观可视化效果,特地的制作了动态调整$(x_c,y_c,\lambda)$三个系数的方式对一幅畸变图像进行调整的过程,有兴趣且想尝鲜的朋友可以到[此处尝用](http://192.168.202.153:9988/webapps/home/session.html?app=dynamicDistortionImage)。*** <**此局域网web APP链接已失效,读者可以通过运行[getArcs.mlapp](./getArcs.mlapp)本地访问APP!**>
![webAPP](./images/webAPP.JPG)
## 2. 非常规去畸变
此类畸变比较棘手,因为不满足通常意义上的畸变,**即使通过常规标定板方式矫正去畸变也达不到较好效果**。故只能从某种几何意义上估算其畸变模型,正向和逆向公式得靠自估,一些示例性的程序脚本见[demo_geoImageWarp.mlx](./demo_geoImageWarp.mlx),可以输出`mapX`,`mapY`映射坐标.
为便于对比,左边展示为畸变原图,右边为对应去畸变效果图。
![compare1](./images/compareDistortImg1.jpg)
![compare2](./images/compareDistortImg2.jpg)
![compare3](./images/compareDistortImg7.jpg)
![compare4](./images/compareDistortImg8.jpg)
![compare5](./images/compareDistortImg12.jpg)## References
[1]
[2]
[3]