Skip to content
GitLab
  • Menu
Projects Groups Snippets
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • L laser_plane_scanner
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 0
    • Issues 0
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 0
    • Merge requests 0
  • Deployments
    • Deployments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Commits
  • Issue Boards
Collapse sidebar
  • Cmíral Jakub
  • laser_plane_scanner
  • Wiki
  • find_camera_mtx

find_camera_mtx · Changes

Page history
cmirajak created page: find_camera_mtx authored Aug 16, 2016 by Cmíral Jakub's avatar Cmíral Jakub
Hide whitespace changes
Inline Side-by-side
find_camera_mtx.md
View page @ 0ca808f3
# Finding Camera Matrix # Finding Camera Matrix And Distortion Coefficients
--- ---
We are looking for a Camera Matrix **K** described as: Camera calibration is based on [OpenCV2 calibration](http://docs.opencv.org/2.4/doc/tutorials/calib3d/camera_calibration/camera_calibration.html).
We are looking for the Camera Matrix **K** and Distortion Coefficients **D** described as:
![alt text](http://mathurl.com/gu7suza.png) , ![alt text](http://mathurl.com/gu7suza.png) ,
![alt text](http://mathurl.com/gujy9u2.png) ,
where ![alt text](http://mathurl.com/zbyrpbe.png) are camera focal lengths, ![alt text](http://mathurl.com/jchq2he.png) are optical centers, *p* and *k* are distortion coefficients.
### Calibration object
As the calibration object we chose classic black-white chessboard pattern with 8 rows, 7 columns and square's size approximately 35x35mm (Exact dimensions are specified in source code).
### Calibration pictures
We must take pictures with calibration object in the camera's Field of View in many different positions and cover entire picture with as many points as we can. However, We must respect that, the whole chessboard must be visible.
### Finding chessboards
We use OpenCV function `findChessboarCorners(gray,(rows,column),params=None)->ret,corners` for finding the chessboard in pictures, where gray is intensity image and corners are chessboard's corners in pixel coordinate system (u,v). After the chessboard is found the position is made more precise and the corners are found with sub-pixel precision `cornerSubPixel(gray,corners,winSize,zeroZone,criteria)->None`. You can read more about this on the page listed above.
### Camera Matrix and Distortion Coefficients
When we know the position of chessboards in pictures (imagePoints) and correct size of squares and its positions (objectPoints), we can now estimate the Camera Matrix and Distortion Coefficients with OpenCV function `calibrateCamera(objectPoints,imagePoints,imageShape,None,None)->ret,cam_mtx,dist,rvect,tvect`, where `cam_mtx` is wanted the Camera Matrix and `dist` are Distortion coefficients.
where *f* is camera focal length, and *c* is optical center for axis *x* and *y*.
\ No newline at end of file \ No newline at end of file
Clone repository
  • estimate_laser_plane
  • find_camera_mtx
  • Home
  • laser_trace
  • new_base_coords
  • rotation_table
  • simple setup