Skip to main content

Add your description here

Project description

ImageBoundaryPointsGeneration takes an image..

.. identifies the " region " in it and returns a list of points bounding the region.

This is meant to be used with a procedural generation project that generates 2D tile maps from provided tile sets within specified regions. It facilitates specifying those regions by uploading pictures in which the specification is clearly present.

Example:

Region picture

The above is a region assembled from pieces I picked up at a fair.

Approximation is done by calling RegionBordersApproximator.approximate:

RegionBordersApproximator.approximate(base_image_data=base_image_data, base_image_width=400, base_image_height=300, min_canny_threshold=100, max_canny_threshold=200, min_segmenting_threshold=70, max_segmenting_threshold=255, contour_thickness=2)
  • base_image_data: image in Base64
  • base_image_width, base_image_height: image width/height
  • min_canny_threshold, max_canny_threshold: Canny edge detection thresholds
  • min_segmenting_threshold, max_segmenting_threshold: Image segmenting thresholds
  • contour_thickness: thickness of lines drawn for region borders

Results are output as

@dataclass(frozen=True)
    class RegionBordersApproximation:
        border_points: dict[uuid4, Point]
        border_segments: tuple[RegionBordersApproximator.RegionBorderSegment]

RegionBorderSegment.point_Id values correspond to border_points keys.

Examples (visual):

Borders highlighted:

Region picture

Borders & boundary points highlit:

Region picture

The idea is that the border points can be more finely, manually tweaked from this initial state. Future iterations will reliably automate that tweaking.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

imageboundarypointsgeneration-0.1.0.tar.gz (5.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

imageboundarypointsgeneration-0.1.0-py3-none-any.whl (6.1 kB view details)

Uploaded Python 3

File details

Details for the file imageboundarypointsgeneration-0.1.0.tar.gz.

File metadata

File hashes

Hashes for imageboundarypointsgeneration-0.1.0.tar.gz
Algorithm Hash digest
SHA256 7ee6946b192173b9b196c74d287f1af02441fc57bd1fc7ca8f8e719e24f157c8
MD5 5d9e2a41890b3ebc18ad3c14f6dac373
BLAKE2b-256 5a6609940887995ab3fbd4735596392dbfa44616f0564dc2e61120242fc62b94

See more details on using hashes here.

File details

Details for the file imageboundarypointsgeneration-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for imageboundarypointsgeneration-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 51250ca889444c7effa9236d3354990a2116a9888eb31606761a82dfbd65dfb8
MD5 b3d7deacf957c943d5466d0f6ccfe388
BLAKE2b-256 40d43418381d33f0cec7e359ce916ffb086f716cc447dcc9b6a864be2cdb9192

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page