{"id":19855867,"url":"https://github.com/cuixing158/single-image-undistort","last_synced_at":"2025-05-02T01:31:21.074Z","repository":{"id":254689917,"uuid":"847270905","full_name":"cuixing158/Single-Image-Undistort","owner":"cuixing158","description":"Distortion correction of single image without checkerboard calibration.","archived":false,"fork":false,"pushed_at":"2024-09-17T00:34:45.000Z","size":49791,"stargazers_count":6,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-06T20:47:46.713Z","etag":null,"topics":["algorithm","algorithms","bird-eye-view","camera-model","fisheye-image","fisheye-undistorting","image-processing","image-rectification","single-image-undistort","undistortion"],"latest_commit_sha":null,"homepage":"","language":"MATLAB","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-2-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cuixing158.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-08-25T10:49:00.000Z","updated_at":"2025-03-26T04:43:51.000Z","dependencies_parsed_at":"2024-09-17T04:55:52.291Z","dependency_job_id":null,"html_url":"https://github.com/cuixing158/Single-Image-Undistort","commit_stats":null,"previous_names":["cuixing158/single-image-undistort"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cuixing158%2FSingle-Image-Undistort","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cuixing158%2FSingle-Image-Undistort/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cuixing158%2FSingle-Image-Undistort/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cuixing158%2FSingle-Image-Undistort/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cuixing158","download_url":"https://codeload.github.com/cuixing158/Single-Image-Undistort/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251969398,"owners_count":21673194,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["algorithm","algorithms","bird-eye-view","camera-model","fisheye-image","fisheye-undistorting","image-processing","image-rectification","single-image-undistort","undistortion"],"created_at":"2024-11-12T14:13:58.611Z","updated_at":"2025-05-02T01:31:16.065Z","avatar_url":"https://github.com/cuixing158.png","language":"MATLAB","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 基于无标定方式的单张图像去畸变\n\n[![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)\n[![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)\n\n本仓库旨在实现单幅畸变图像矫正的非典型方法，适用轻微畸变和严重畸变，部分具体理论和实践可以参考[此处pdf](./undistortFisheyeFromSingleView.pdf)。\n\n## Requirements\n\nMathWorks Products (\u003chttps://www.mathworks.com\u003e)\n\n- MATLAB 2022b or later\n- Automated Driving Toolbox™\n- Computer Vision Toolbox™\n- Image Processing Toolbox™\n- Optimization Toolbox™\n- Symbolic Math Toolbox™\n\n## 一些示例\n\n- [普通广角/鱼眼镜头径向去畸变——除法模型动态调整实时求解](./demo_dynamicDistortCoff2.mlx)\n- [非常规图像去畸变](./demo_geoImageWarp.mlx)\n- [普通广角/鱼眼镜头径向畸变——除法模型逆变换代数求解](./demo_solve_inverse.mlx)\n- [基于无需标定相机的方式直接对普通广角/超广角/鱼眼视频做BEV](./demo_undistortImage_BEV.mlx)\n- [对去畸变后的图像建筑物\"竖直倾斜\"的直线进行矫正](./demo_undistortImage_perspective.mlx)\n- [基于单系数除法模型对普通广角/鱼眼镜头图像去畸变实现](./demo_undistortImage_synthetic.mlx)\n\n实现的方法根据**实际畸变图像有所不同**，大致分为以下两类。\n\n## 1. 常规(常规意思指也可以通过标定板、厂家畸变表方式)图像去畸变\n\n此类畸变可以通过[getArcs.mlapp](./getArcs.mlapp)交互程序获得图像中的弧线数据,然后通过[robustRectifyImage.m](./robustRectifyImage.m)函数鲁棒性去畸变。当然也可以实验性通过编程方式去畸变参考脚本示例程序[demo_undistortImage_synthetic.mlx](./demo_undistortImage_synthetic.mlx)，编程方式需要一些算法自动检测图像中的弧线。\n\n***为了便于直观可视化效果，特地的制作了动态调整$(x_c,y_c,\\lambda)$三个系数的方式对一幅畸变图像进行调整的过程，有兴趣且想尝鲜的朋友可以到[此处尝用](http://192.168.202.153:9988/webapps/home/session.html?app=dynamicDistortionImage)。*** \u003c**此局域网web APP链接已失效，读者可以通过运行[getArcs.mlapp](./getArcs.mlapp)本地访问APP！**\u003e\n\n![webAPP](./images/webAPP.JPG)\n\n## 2. 非常规去畸变\n\n此类畸变比较棘手，因为不满足通常意义上的畸变，**即使通过常规标定板方式矫正去畸变也达不到较好效果**。故只能从某种几何意义上估算其畸变模型，正向和逆向公式得靠自估，一些示例性的程序脚本见[demo_geoImageWarp.mlx](./demo_geoImageWarp.mlx),可以输出`mapX`,`mapY`映射坐标.\n\n为便于对比，左边展示为畸变原图，右边为对应去畸变效果图。\n![compare1](./images/compareDistortImg1.jpg)\n![compare2](./images/compareDistortImg2.jpg)\n![compare3](./images/compareDistortImg7.jpg)\n![compare4](./images/compareDistortImg8.jpg)\n![compare5](./images/compareDistortImg12.jpg)\n\n## References\n\n[1] \u003chttps://github.com/subeeshvasu/Awesome-Image-Distortion-Correction\u003e\n\n[2] \u003chttps://github.com/ethz-asl/image_undistort\u003e\n\n[3] \u003chttps://discorpy.readthedocs.io/en/latest/usage/demo_08.html#fig-75\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcuixing158%2Fsingle-image-undistort","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcuixing158%2Fsingle-image-undistort","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcuixing158%2Fsingle-image-undistort/lists"}