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
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7fe2a715e3d328e6b881e64e483e07b8f996af0f0294a8b1302021ddec0b0593 |
|
MD5 | a72a7ca84f3bdb8137e069fb68a5b47c |
|
BLAKE2b-256 | febfa17c6e22b771bebd68a16dc85009d3df5be9cf05096b193169181dd636e9 |
File details
Details for the file multiprocshapefinder-0.12-py3-none-any.whl
.
File metadata
- Download URL: multiprocshapefinder-0.12-py3-none-any.whl
- Upload date:
- Size: 60.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c7046907a477191be0844dbd646595d6934f62c93a31ab9e4aae2d7693c3aaf7 |
|
MD5 | ad21635077e4f9e634f07ce0a88e7173 |
|
BLAKE2b-256 | 0003287d519f7f7c0487093ffec7bb39480787e2c9d61b0e936c01de7da6d47b |