{"id":19855852,"url":"https://github.com/cuixing158/single-image-calibration","last_synced_at":"2025-05-02T01:31:22.968Z","repository":{"id":153930386,"uuid":"530229898","full_name":"cuixing158/single-Image-Calibration","owner":"cuixing158","description":"Implementation and visualisation of multiple classical linear calibration methods for a single image","archived":false,"fork":false,"pushed_at":"2025-02-02T04:06:32.000Z","size":8358,"stargazers_count":27,"open_issues_count":0,"forks_count":9,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-06T20:47:46.238Z","etag":null,"topics":["algorithm","algorithms","camera-calibration","geometric-algorithms","mathematical-modelling","matlab","pinhole","pinhole-camera","single-image-reconstruction"],"latest_commit_sha":null,"homepage":"","language":"MATLAB","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"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":null,"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":"2022-08-29T13:22:42.000Z","updated_at":"2025-03-19T11:00:20.000Z","dependencies_parsed_at":"2023-11-21T01:45:44.994Z","dependency_job_id":null,"html_url":"https://github.com/cuixing158/single-Image-Calibration","commit_stats":null,"previous_names":["cuixing158/single-image-calibration"],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cuixing158%2Fsingle-Image-Calibration","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cuixing158%2Fsingle-Image-Calibration/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cuixing158%2Fsingle-Image-Calibration/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cuixing158%2Fsingle-Image-Calibration/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cuixing158","download_url":"https://codeload.github.com/cuixing158/single-Image-Calibration/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","camera-calibration","geometric-algorithms","mathematical-modelling","matlab","pinhole","pinhole-camera","single-image-reconstruction"],"created_at":"2024-11-12T14:13:56.925Z","updated_at":"2025-05-02T01:31:17.960Z","avatar_url":"https://github.com/cuixing158.png","language":"MATLAB","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n# single image calibration\n\n[![View singleImageCalibration on File Exchange](https://www.mathworks.com/matlabcentral/images/matlab-file-exchange.svg)](https://ww2.mathworks.cn/matlabcentral/fileexchange/116875-singleimagecalibration)\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/singleImageCalibration\u0026file=demoOneImgCalibrate.mlx)\n\n## Overview\n\nImplementation and visualisation of multiple classical linear calibration methods for a single image.This repo aims to provide as many single image calibration methods as possible for linear [pinhole cameras](https://en.wikipedia.org/wiki/Pinhole_camera_model#The_geometry_and_mathematics_of_the_pinhole_camera), solving for camera intrinsic and extrinsic parameters based on known 3D-2D corresponding points or other auxiliary conditions, and presenting them in the most intuitive way,deepening the understanding of the camera imaging process.\n\n :eyes:[View the example](https://viewer.mathworks.com/?viewer=live_code\u0026url=https%3A%2F%2Fww2.mathworks.cn%2Fmatlabcentral%2Fmlc-downloads%2Fdownloads%2F2076f3ea-45d2-4e42-b65a-a17743a363ef%2F4a77a1a1-383d-4786-aa9d-a48c8b0511d0%2Ffiles%2FdemoOneImgCalibrate.mlx\u0026embed=web) :arrow_forward:[Run the example](https://matlab.mathworks.com/open/github/v1?repo=cuixing158/singleImageCalibration\u0026file=demoOneImgCalibrate.mlx)\n\n## Requirements\n\n- MATLAB® R2022b or later(Because Computer Vision Toolbox™ has [switched to the \"Premultiply Convention\"](https://ww2.mathworks.cn/help/images/migrate-geometric-transformations-to-premultiply-convention.html) since R2022b.)\n- Image Processing Toolbox™\n- Computer Vision Toolbox™\n- Symbolic Math Toolbox™ \n\nNote: If you are using MATLAB version R2022a or earlier, use [v1.0 of this repository](https://github.com/cuixing158/singleImageCalibration/tree/1.0)!\n\n## Algorithms\n\nCurrent have these algorithms:\n\n- Method1：Decompose camera projection matrix(QR decomposition)\n- Method2：Decompose camera projection matrix(intrinsic and extrinsic properties)\n- Method3：tsai calibration\n- Method4：Geometric solution\n- Method5：Algebraic solution\n\n## Some visualizations\n\n\u003ccenter\u003e\n    \u003cimg style=\"border-radius: 0.3125em;\n    box-shadow: 0 2px 4px 0 rgba(34,36,38,.12),0 2px 10px 0 rgba(34,36,38,.08);\"\n    src=\"./images/interactionDraw.jpg\"\u003e\n    \u003cbr\u003e\n    \u003cdiv style=\"color:orange; border-bottom: 1px solid #d9d9d9;\n    display: inline-block;\n    color: #999;\n    padding: 2px;\"\u003eDraw Mapping\u003c/div\u003e\n\u003c/center\u003e\n\n\u003ccenter\u003e\n    \u003cimg style=\"border-radius: 0.3125em;\n    box-shadow: 0 2px 4px 0 rgba(34,36,38,.12),0 2px 10px 0 rgba(34,36,38,.08);\"\n    src=\"images/birdView2.jpg\"\u003e\n    \u003cbr\u003e\n    \u003cdiv style=\"color:orange; border-bottom: 1px solid #d9d9d9;\n    display: inline-block;\n    color: #999;\n    padding: 2px;\"\u003eVanishing Lines Overview\u003c/div\u003e\n\u003c/center\u003e\n\n\u003ccenter\u003e\n    \u003cimg style=\"border-radius: 0.3125em;\n    box-shadow: 0 2px 4px 0 rgba(34,36,38,.12),0 2px 10px 0 rgba(34,36,38,.08);\"\n    src=\"./images/cameraProject3.jpg\"\u003e\n    \u003cbr\u003e\n    \u003cdiv style=\"color:orange; border-bottom: 1px solid #d9d9d9;\n    display: inline-block;\n    color: #999;\n    padding: 2px;\"\u003eStereo Visualization\u003c/div\u003e\n\u003c/center\u003e\n\n\u003ccenter\u003e\n    \u003cimg style=\"border-radius: 0.3125em;\n    box-shadow: 0 2px 4px 0 rgba(34,36,38,.12),0 2px 10px 0 rgba(34,36,38,.08);\"\n    src=\"./images/triPlot2.jpg\"\u003e\n    \u003cbr\u003e\n    \u003cdiv style=\"color:orange; border-bottom: 1px solid #d9d9d9;\n    display: inline-block;\n    color: #999;\n    padding: 2px;\"\u003eTrirectangular Tetrahedron\u003c/div\u003e\n\u003c/center\u003e\n\n## Implementation and Get Started\n\nImplemented in \"lean and elegant\" code that is easy to read. See `demoOneImgCalibrate.mlx` or [demoOneImgCalibrate.md](./demoOneImgCalibrate.md) format entry file.\n\nTo getting started,there are two ways：\n\n- click [![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/singleImageCalibration\u0026file=demoOneImgCalibrate.mlx) to open `demoOneImgCalibrate.mlx` in MATLAB Online®(in your web browser with no installation required).\n- Download or clone this repository to your local machine and open `demoOneImgCalibrate.mlx` in MATLAB®\n\n  Then just run ,take enjoy yourself!\n\n## Acknowledgments\n1. Aaron T. Becker's Robot Swarm Lab (2023). Calibrate Camera with one Photo (Linear Method) (https://www.mathworks.com/matlabcentral/fileexchange/73079-calibrate-camera-with-one-photo-linear-method), MATLAB Central File Exchange. Retrieved November 18, 2023.\n2. [Camera Calibration](http://vision.stanford.edu/teaching/cs231a_autumn1112/lecture/lecture8_camera_calibration_cs231a_marked.pdf)\n3. [Geometry of a single camera](http://saurabhg.web.illinois.edu/teaching/ece549/sp2021/slides/lec14_calibration.pdf)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcuixing158%2Fsingle-image-calibration","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcuixing158%2Fsingle-image-calibration","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcuixing158%2Fsingle-image-calibration/lists"}