Skip to main content

detects and analyzes shapes in images using parallel processing.

Project description

detects and analyzes shapes in images using parallel processing.

pip install multiprocshapefinder

Tested against Python 3.11 / Windows 10

Advantages:

Parallel Processing:

The module utilizes parallel processing (cpus parameter) to speed up the shape detection process, which can be advantageous for analyzing multiple images simultaneously.

Flexible Input:

It accepts images in various formats, providing flexibility in the source of the images.

Caching:

The option to use caching (usecache) can save time on the same images.

Visualization:

The module provides a function (draw_results) for visualizing the detected shapes on the original images, making it easier for users to interpret and verify the results.

Configurability:

The module exposes various parameters, such as Canny edge detection thresholds and contour approximation factors, allowing users to fine-tune the shape detection process based on their requirements.

# Importing functions from the multiprocshapefinder module
from multiprocshapefinder import find_all_shapes, draw_results

# List of image URLs to be processed
images = [
    r"https://raw.githubusercontent.com/hansalemaos/screenshots/main/findshapes_1.png",
]  # accepts almost all formats (url/path/buffer/base64/np/PIL) - https://github.com/hansalemaos/a_cv_imwrite_imread_plus

# Calling find_all_shapes function to detect and analyze shapes in the given images
df = find_all_shapes(
    images,
    threshold1=10,
    threshold2=90,
    approxPolyDPvar=0.01,
    cpus=5,  # Number of CPU cores to use for parallel processing
    chunks=1,  # Number of chunks to split the image processing into
    print_stderr=True,  # Print error messages to stderr
    print_stdout=False,  # Do not print standard output messages
    usecache=True,  # Use caching for intermediate results
)

# Printing the resulting DataFrame containing shape information
print(df)

# Calling draw_results function to visualize the detected shapes on the original image
draw_results(
    df,
    images[0],  # Using the first image in the list - filter the DF (df.loc) if len(images)>1
    min_area=5,  # Minimum area threshold for shapes to be considered
    shapes=("rectangle", "triangle", "circle", "pentagon", "hexagon", "oval"),  # Shapes to be visualized
    cv2show=True,  # Display the result using OpenCV
)

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

multiprocshapefinder-0.12.tar.gz (59.9 kB view details)

Uploaded Source

Built Distribution

multiprocshapefinder-0.12-py3-none-any.whl (60.4 kB view details)

Uploaded Python 3

File details

Details for the file multiprocshapefinder-0.12.tar.gz.

File metadata

  • Download URL: multiprocshapefinder-0.12.tar.gz
  • Upload date:
  • Size: 59.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.5

File hashes

Hashes for multiprocshapefinder-0.12.tar.gz
Algorithm Hash digest
SHA256 7fe2a715e3d328e6b881e64e483e07b8f996af0f0294a8b1302021ddec0b0593
MD5 a72a7ca84f3bdb8137e069fb68a5b47c
BLAKE2b-256 febfa17c6e22b771bebd68a16dc85009d3df5be9cf05096b193169181dd636e9

See more details on using hashes here.

File details

Details for the file multiprocshapefinder-0.12-py3-none-any.whl.

File metadata

File hashes

Hashes for multiprocshapefinder-0.12-py3-none-any.whl
Algorithm Hash digest
SHA256 c7046907a477191be0844dbd646595d6934f62c93a31ab9e4aae2d7693c3aaf7
MD5 ad21635077e4f9e634f07ce0a88e7173
BLAKE2b-256 0003287d519f7f7c0487093ffec7bb39480787e2c9d61b0e936c01de7da6d47b

See more details on using hashes here.

Supported by

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