Optimized OpenCV extra algorithms for Python
Project description
cv_algorithms
A Python package (Python3 ready!) that contains implementations of various OpenCV algorithms are are not available in OpenCV or OpenCV-contrib. This package is intended to be used with OpenCV 3.
Some performance-critical algorithms are written in optimized C code. The C code is accessed using cffi Currently implemented:
- Morphological algorithms
- Algorithms on contours
- Masking extraction of convex polygon area from image without rotation
- Scale around reference point or center
- Fast computation of center by coordinate averaging
- Center-invariant rescaling of upright bounding rectangle by x/ factors
- Filter by min/max area
- Sort by area
- Create binary contour mask
- Grassfire transform
- Colorspace metrics & utilities:
- Convert image to any colorspace supported by OpenCV
- Extract any channel from any colorspace directly
- Euclidean RGB distance
- Other structural algorithms
- Which neighboring pixels are set in a binary image?
- Algorithms on text rendering
- Center text at coordinates
- Auto-scale text to fix into box
- Other algorithms
- Remove n percent of image borders
- Popcount (number of one bits) for 8, 16, 32 and 64 bit numpy arrays
- Resize an image, maintaining the aspect ratio
As OpenCV's Python bindings (cv2
) represents images as numpy arrays, most algorithms generically work with numpy1 arrays.
Installation
Install the stable version:
pip install cv_algorithms
How to install the bleeding-edge version from GitHub
pip install git+https://github.com/ulikoehler/cv_algorithms.git
How to build yourself - we use Poetry:
poetry build
Potentially, you need to install OpenCV if not already present. I recommend first trying to install without that, since modern Python versions will take care of that automatically.
Usage
Difference of Gaussian transform documentation & example Grassfire transform documentation & example Thinning documentation & example
Here's a simple usage showcase:
import cv_algorithms
# img must be a binary, single-channel (grayscale) image.
thinned = cv_algorithms.guo_hall(img)
Contributions
Contributions of any shape or form are welcome. Please submit a pull request or file an issue on GitHub.
Copyright (c) 2016-2022 Uli Köhler <cv_algorithms@techoverflow.net>
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
Built Distribution
File details
Details for the file cv_algorithms-1.1.1.tar.gz
.
File metadata
- Download URL: cv_algorithms-1.1.1.tar.gz
- Upload date:
- Size: 22.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.7.1 CPython/3.10.12 Linux/5.15.0-91-generic
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 627653e8235414f4e0747ee682b001710002ea408c81c65d78ee368763586077 |
|
MD5 | 2e6aca042e69289c0432c54fac580334 |
|
BLAKE2b-256 | a760be78c55a39b7bbc22ef347a3ca05f0664adbc1339fcd714170d9098b317a |
File details
Details for the file cv_algorithms-1.1.1-cp310-cp310-manylinux_2_35_x86_64.whl
.
File metadata
- Download URL: cv_algorithms-1.1.1-cp310-cp310-manylinux_2_35_x86_64.whl
- Upload date:
- Size: 40.9 kB
- Tags: CPython 3.10, manylinux: glibc 2.35+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.7.1 CPython/3.10.12 Linux/5.15.0-91-generic
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7937a313c48346903314c75bd3f8884310b3d3406c2b35cdca1e2778633d7d8e |
|
MD5 | 0b7bdef0682b3c0095a6cf677ed9c887 |
|
BLAKE2b-256 | b2c62d78a2b5a3435b07f546a4b0e1cecf906c56e9a4f8a35082fa1fa80c88ed |