Difference between revisions of "Camera Calibration Targets"

From BoofCV
Jump to navigationJump to search
m
m
(9 intermediate revisions by the same user not shown)
Line 1: Line 1:
== Creating Your Own ==
== Creating Your Own ==


BoofCV provides an application for generating your own custom calibration target. You can size the pattern for your specific application on any sized paper.  First you need to build the applications, see below:
BoofCV provides an application for generating your own custom calibration target. It allows you to specify which pattern you wish to use, the paper, and other specifications. A command line interface as well as a graphics interface are provided. The graphical interface gives you live preview as you adjust settings.
 
* [https://youtu.be/qMTtdiujAtQ?t=559 Video demonstration of command-line]
* [https://youtu.be/TGg-xgTyaU8?t=604 Video demonstration of GUI Application]
* [[Applications#Create_Calibration_Fiducials|Instructions for installing pre-built application]]
* Below are instructions for building it yourself from BoofCV's source code
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
cd boofcv/applications
cd boofcv
gradle applicationsJar
./gradlew applicationsJar
java -jar applications.jar CreateCalibrationTarget
java -jar applications/applications.jar CreateCalibrationTarget
</syntaxhighlight>
 
The last line above will run the application with no arguments. This will print out up to date instructions.  At the end of the instructions are examples for each target type on letter sized paper. If you wish to have a GUI when creating your calibration target add the --GUI flag. The GUI doesn't have all the options which the command line has.
 
<syntaxhighlight lang="bash">
java -jar applications/applications.jar CreateCalibrationTarget --GUI
</syntaxhighlight>
</syntaxhighlight>


The last line above will run the application with no arguments.  This will print out help, including examples each target type on letter sized paper.


== Downloadable Targets ==
== Downloadable Targets ==


{| class="wikitable"
{| class="wikitable"
|+Printable Calibration Targetrs
|+Printable Calibration Targets: US Standard Paper
!Link
!Link
!Target Type
!Target Type
Line 20: Line 30:
!Square/Circle Size
!Square/Circle Size
|-
|-
|[[File:Calib_target_chess_small.png|60px|link=http://boofcv.org/notwiki/calibration/letter_chess.ps]]
|[[File:Calibration_letter_chessboard_7x5.png|60px|link=http://boofcv.org/notwiki/calibration/letter_chessboard.pdf]]
| Chessboard
| Chessboard
| Letter
| Letter
| 7 by 5
| 7 by 5
| 30mm
| 3cm
|-
|-
|[http://boofcv.org/notwiki/calibration/A4_chess.ps Link]
|[[File:Calibration_letter_squaregrid_5x4.png|60px|link=http://boofcv.org/notwiki/calibration/letter_squaregrid.pdf]]
| Chessboard
| Square Grid
| A4
| Letter
| 8 by 5
| 5 by 4
| 30mm
| w=3cm s=2cm
|-
|-
|[http://boofcv.org/notwiki/calibration/A1_chess.ps Link]
|[[File:Calibration_letter_circlehex_20x24.png|60px|link=http://boofcv.org/notwiki/calibration/letter_circlehex.pdf Link]]
| Chessboard
| Circle Hexagonal Grid
| A1
| Letter
| 12 by 8
| 20 by 24
| 60mm
| diam=1cm, d=1.5cm
|-
|-
|[[File:Calib_target_square_small.png|60px|link=http://boofcv.org/notwiki/calibration/letter_square.ps]]
|[[File:Calibration_letter_circlehex_20x24.png|60px|link=http://boofcv.org/notwiki/calibration/letter_circlegrid.pdf Link]]
| Square Grid
| Circle Regular Grid
| Letter
| Letter
| 4 by 3
| 17 by 12
| w=30mm s=30mm
| diam=1cm, d=1.5cm
|}
 
{| class="wikitable"
|+Printable Calibration Targets: Metric
!Link
!Target Type
!Paper Size
!Shape
!Square/Circle Size
|-
|-
|[http://boofcv.org/notwiki/calibration/A4_square.ps Link]
|[[File:Calibration_A4_chessboard_9x6.png|60px|link=http://boofcv.org/notwiki/calibration/A4_chessboard.pdf]]
| Square Grid
| Chessboard
| A4
| A4
| 5 by 3
| 9 by 6
| w=30mm s=30mm
| 3cm
|-
|-
|[http://boofcv.org/notwiki/calibration/A1_square.ps Link]
|[[File:Calibration_A4_squaregrid.png|60px|link=http://boofcv.org/notwiki/calibration/A4_squaregrid.pdf]]
| Square Grid
| Square Grid
| A1
| A4
| 6 by 4
| 6 by 4
| w=60mm s=60mm
| w=3cm s=1.5cm
|-
|[[File:Calibration_A4_circlehex.png|60px|link=http://boofcv.org/notwiki/calibration/A4_circlehex.pdf Link]]
| Circle Hexagonal Grid
| A4
| 20 by 24
| diam=1cm, d=1.5cm
|-
|-
|[[File:Calib_target_circle_asym_grid.png|60px|link=http://boofcv.org/notwiki/calibration/letter_acircle.ps Link]]
|[[File:Calibration_A4_circlegrid.png|60px|link=http://boofcv.org/notwiki/calibration/A4_circlegrid.pdf Link]]
| Circle Asymmetric Grid
| Circle Regular Grid
| Letter
| A4
| 8 by 5
| 18 by 12
| diam=2cm, d=6cm
| diam=1cm, d=1.5cm
|}
|}


* Shape for chessboard includes black and white squares
* Shape for chessboard includes black and white squares
* Shape for square grid is only the black squares
* Shape for square grid is only the black squares
* Square Grid patterns above have a 1 to 1 ratio between black squares and space between.


<br>
<br>


<center>
<center>
'''WHEN PRINTING THE CALIBRATION GRID MAKE SURE YOUR PRINTER DOES NOT RESCALE THE DOCUMENTS!'''<br>
'''WHEN PRINTING CALIBRATION TARGETS MAKE SURE YOUR PRINTER DOES NOT RESCALE THE DOCUMENTS!'''<br>
'''Failure to do so will cause intrinsic parameters to be off by a scale-factor.'''
'''After printing use a ruler to make sure it's the correct size'''
'''Measure with a ruler to make sure each square is 30mm wide'''
</center>
</center>

Revision as of 17:28, 10 November 2018

Creating Your Own

BoofCV provides an application for generating your own custom calibration target. It allows you to specify which pattern you wish to use, the paper, and other specifications. A command line interface as well as a graphics interface are provided. The graphical interface gives you live preview as you adjust settings.

cd boofcv
./gradlew applicationsJar
java -jar applications/applications.jar CreateCalibrationTarget

The last line above will run the application with no arguments. This will print out up to date instructions. At the end of the instructions are examples for each target type on letter sized paper. If you wish to have a GUI when creating your calibration target add the --GUI flag. The GUI doesn't have all the options which the command line has.

java -jar applications/applications.jar CreateCalibrationTarget --GUI


Downloadable Targets

Printable Calibration Targets: US Standard Paper
Link Target Type Paper Size Shape Square/Circle Size
Calibration letter chessboard 7x5.png Chessboard Letter 7 by 5 3cm
Calibration letter squaregrid 5x4.png Square Grid Letter 5 by 4 w=3cm s=2cm
link=http://boofcv.org/notwiki/calibration/letter_circlehex.pdf Link Circle Hexagonal Grid Letter 20 by 24 diam=1cm, d=1.5cm
link=http://boofcv.org/notwiki/calibration/letter_circlegrid.pdf Link Circle Regular Grid Letter 17 by 12 diam=1cm, d=1.5cm
Printable Calibration Targets: Metric
Link Target Type Paper Size Shape Square/Circle Size
Calibration A4 chessboard 9x6.png Chessboard A4 9 by 6 3cm
Calibration A4 squaregrid.png Square Grid A4 6 by 4 w=3cm s=1.5cm
link=http://boofcv.org/notwiki/calibration/A4_circlehex.pdf Link Circle Hexagonal Grid A4 20 by 24 diam=1cm, d=1.5cm
link=http://boofcv.org/notwiki/calibration/A4_circlegrid.pdf Link Circle Regular Grid A4 18 by 12 diam=1cm, d=1.5cm
  • Shape for chessboard includes black and white squares
  • Shape for square grid is only the black squares


WHEN PRINTING CALIBRATION TARGETS MAKE SURE YOUR PRINTER DOES NOT RESCALE THE DOCUMENTS!
After printing use a ruler to make sure it's the correct size