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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for multiprocshapefinder-0.12.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7fe2a715e3d328e6b881e64e483e07b8f996af0f0294a8b1302021ddec0b0593 |
|
MD5 | a72a7ca84f3bdb8137e069fb68a5b47c |
|
BLAKE2b-256 | febfa17c6e22b771bebd68a16dc85009d3df5be9cf05096b193169181dd636e9 |
Hashes for multiprocshapefinder-0.12-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c7046907a477191be0844dbd646595d6934f62c93a31ab9e4aae2d7693c3aaf7 |
|
MD5 | ad21635077e4f9e634f07ce0a88e7173 |
|
BLAKE2b-256 | 0003287d519f7f7c0487093ffec7bb39480787e2c9d61b0e936c01de7da6d47b |