Calibrate Camera with one Photo (Linear Method)

Have you ever wondered how a photographer got a shot? Performs camera calibration from labelled points in 3D space and pixel coordinates
630.0 次下载
更新时间 2024/1/12

查看许可证

Have you ever wondered how a photographer got a shot? This code computes the camera's original position and orientation from a single photo -- all you need to do is measure the real-world coordinates of points seen in the photograph and then click on those points in the photo. The code also determines the camera's focal length, optical center, and the scaling of the pixels in x and y.
All you need is a photograph (imageFilename), and to update gather3Ddata.m with the coordinates of points in the 3D world visible in the photo.
Instruction video: https://youtu.be/WEYwitb6dTo
This uses the method in Robot Modeling and Control by Spong, Vidgasgar and
Hutchinson. This methods is also known as Tsai's calibration method
http://people.csail.mit.edu/bkph/articles/Tsai_Revisited.pdf
Tsai, Roger Y. (1986) "An Efficient and Accurate Camera Calibration Technique
for 3D Machine Vision", Proceedings of IEEE Conference on Computer Vision
and Pattern Recognition, Miami Beach, FL, 1986, pp. 364-374.
by Steban Soto, Cora Yuzhu, Aaron T. Becker in 2018, updated with mouse handler
by Shreyas Poyrekar in 2018.
This code requires an image in the working directory named 'imageFilename.jpg'
It also requires the function gather3Ddata.m and findOrthocenter.m

引用格式

Aaron T. Becker's Robot Swarm Lab (2024). 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. 检索时间: .

MATLAB 版本兼容性
创建方式 R2017b
兼容任何版本
平台兼容性
Windows macOS Linux
类别
Help CenterMATLAB Answers 中查找有关 Camera Calibration 的更多信息
标签 添加标签

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
版本 已发布 发行说明
1.2

Updated by Utkarsh Gupta on 01/12/2024 improving the code readability by using arrays to store plots and added functionality that lets user 'undo' their clicks.

1.1.1

Added link to instruction video: https://youtu.be/WEYwitb6dTo

1.1.0

Updated comments and cleaned up the GUI

1.0.0