Skip to main content

OpenCV pattern generation tool

Lifted mainly from opencv/doc/pattern_tools. A really simple way to generate some patterns.

Added some extra utilities like YAML files, loading from YAML files etc

Installation

pip install opencv-pattern

Usage

usage: pattern [-H] [--from_config FROM_CONFIG] [-o OUTPUT] [-c COLUMNS] [-r ROWS] [-T {circles,acircles,checkerboard,radon_checkerboard,charuco_board}]
               [-u {mm,inches,px,m}] [-s SQUARE_SIZE] [-R RADIUS_RATE] [-w PAGE_WIDTH] [-h PAGE_HEIGHT] [-a {A0,A1,A2,A3,A4,A5}]
               [-m MARKERS [MARKERS ...]] [-p ARUCO_MARKER_SIZE] [-f DICT_FILE]

generate camera-calibration pattern

options:
  -H, --help            show help
  --from_config FROM_CONFIG
                        generate pattern from config
  -o OUTPUT, --output OUTPUT
                        output file
  -c COLUMNS, --columns COLUMNS
                        pattern columns
  -r ROWS, --rows ROWS  pattern rows
  -T {circles,acircles,checkerboard,radon_checkerboard,charuco_board}, --type {circles,acircles,checkerboard,radon_checkerboard,charuco_board}
                        type of pattern
  -u {mm,inches,px,m}, --units {mm,inches,px,m}
                        length unit
  -s SQUARE_SIZE, --square_size SQUARE_SIZE
                        size of squares in pattern
  -R RADIUS_RATE, --radius_rate RADIUS_RATE
                        circles_radius = square_size/radius_rate
  -w PAGE_WIDTH, --page_width PAGE_WIDTH
                        page width in units
  -h PAGE_HEIGHT, --page_height PAGE_HEIGHT
                        page height in units
  -a {A0,A1,A2,A3,A4,A5}, --page_size {A0,A1,A2,A3,A4,A5}
                        page size, superseded if -h and -w are set
  -m MARKERS [MARKERS ...], --markers MARKERS [MARKERS ...]
                        list of cells with markers for the radon checkerboard. Marker coordinates as list of numbers: -m 1 2 3 4 means markers in cells
                        [1, 2] and [3, 4]
  -p ARUCO_MARKER_SIZE, --marker_size ARUCO_MARKER_SIZE
                        aruco markers size for ChAruco pattern (default 10.0)
  -f DICT_FILE, --dict_file DICT_FILE
                        file name of custom aruco dictionary for ChAruco pattern

Config

Generates a pattern with the config.

pattern --from_config /path/to/config

Checkerboard

pattern -T checkerboard -s 5 -u mm --output checkerboard.svg

"Checkerboard image"

columns: 8
from_config: null
output: checkerboard.svg
p_type: checkerboard
page_size: A4
radius_rate: 5.0
rows: 11
square_size: 5.0
units: mm

Circles

pattern -T circles -s 5 -u mm --output circles.svg

"Circles image"

columns: 8
from_config: null
output: circles.svg
p_type: circles
page_size: A4
radius_rate: 5.0
rows: 11
square_size: 5.0
units: mm

Acircles

pattern -T acircles -s 5 -u mm --output acircles.svg

"acircles image"

columns: 8
from_config: null
output: acircles.svg
p_type: acircles
page_size: A4
radius_rate: 5.0
rows: 11
square_size: 5.0
units: mm

Radon checkerboard

pattern -T radon_checkerboard -s 5 -u mm --output radon_checkerboard.svg

"radon_checkerboard image"

columns: 8
from_config: null
output: radon_checkerboard.svg
p_type: radon_checkerboard
page_size: A4
radius_rate: 5.0
rows: 11
square_size: 5.0
units: mm

Charuco board

pattern -T charuco_board --dict_file DICT_ARUCO_ORIGINAL.json.gz --output charuco_board.svg

You can either choose one of:

  • DICT_4X4_50.json.gz
  • DICT_4X4_100.json.gz
  • DICT_4X4_250.json.gz
  • DICT_4X4_1000.json.gz
  • DICT_5X5_50.json.gz
  • DICT_5X5_100.json.gz
  • DICT_5X5_250.json.gz
  • DICT_5X5_1000.json.gz
  • DICT_6X6_50.json.gz
  • DICT_6X6_100.json.gz
  • DICT_6X6_250.json.gz
  • DICT_6X6_1000.json.gz
  • DICT_7X7_50.json.gz
  • DICT_7X7_100.json.gz
  • DICT_7X7_250.json.gz
  • DICT_7X7_1000.json.gz
  • DICT_APRILTAG_16h5.json.gz
  • DICT_APRILTAG_25h9.json.gz
  • DICT_APRILTAG_36h10.json.gz
  • DICT_APRILTAG_36h11.json.gz
  • DICT_ARUCO_ORIGINAL.json.gz

or your own personal dict file.

"Charuco image"

aruco_marker_size: 10.0
columns: 8
dict_file: DICT_ARUCO_ORIGINAL.json.gz
from_config: null
output: charuco_board.svg
p_type: charuco_board
page_size: A4
radius_rate: 5.0
rows: 11
square_size: 20.0
units: mm

Metadata

Release files for opencv-pattern 0.1.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for opencv-pattern 0.1.4
File Size Uploaded
opencv_pattern-0.1.4.tar.gz 143.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for opencv-pattern 0.1.4
File Interpreter ABI Platform
opencv_pattern-0.1.4-py3-none-any.whl Python 3 none any Details

Total release size: 289.4 kB

Release files / opencv_pattern-0.1.4.tar.gz

Download URL opencv_pattern-0.1.4.tar.gz
Size 143.7 kB
Tags Source
SHA-256 checksum
How to use checksums
a435013c6e4cce12e80e8644ec350df1b840345da434adc3a188941f6dffed2b
BLAKE2b-256 checksum
How to use checksums
cd587fa965117962b70de509362adfb41ec54f0740d0f9c4d74eca34bd4b002d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.5

Release files / opencv_pattern-0.1.4-py3-none-any.whl

Download URL opencv_pattern-0.1.4-py3-none-any.whl
Size 145.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d73015998d3b7c48833dd18c32f1f874d683eee990756fce1a026059f1d9fa5d
BLAKE2b-256 checksum
How to use checksums
805dc6d8a51e6c7397dbe24e286dd81ab75be74c9069e6b350d5eeb37cc2be3a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.5

Release history Release notifications | RSS feed

This release

0.1.4 This release

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page