CV Toolkit
A comprehensive computer vision toolkit providing functionalities for image processing, geometric transformations, feature detection, and more.
Features
- Image Processing: Load, resize, convert, and filter images
- Geometric Transformations: Translation, rotation, scaling, reflection, shearing
- Homography Computation: Compute and apply homography matrices
- Perspective Transformation: Perspective warping of images
- Camera Calibration: Calibrate cameras and undistort images
- Fundamental Matrix: Compute fundamental matrix from stereo images
- Edge, Line & Corner Detection: Canny, Hough, Harris, Shi-Tomasi
- SIFT Features: Scale-Invariant Feature Transform
- SURF & HOG: Feature descriptors for object detection
Installation
From PyPI (when published)
pip install cv-toolkit
From Source (Local Development)
# Navigate to the directory containing setup.py
cd path/to/CV
# Install in editable mode
pip install -e .
# Or install normally
pip install .
Quick Start
Example 1: Image Processing
from cv_toolkit import image_processing
# Run demo with sample image
image_processing.demo()
# Or use individual functions
img = image_processing.load_sample_image()
img_gray = image_processing.convert_to_grayscale(img)
img_blur = image_processing.apply_gaussian_blur(img, sigma=2)
Example 2: Geometric Transformations
from cv_toolkit import geometric_transforms
# Run demo
geometric_transforms.demo()
# Or use specific transformations
img = geometric_transforms.data.astronaut()
img_rotated = geometric_transforms.rotate_image(img, angle_deg=45)
img_scaled = geometric_transforms.scale_image(img, scale_x=0.5, scale_y=0.5)
Example 3: Feature Detection (SIFT)
from cv_toolkit import sift_descriptor
# Run demo
sift_descriptor.demo()
# Or use the pipeline
keypoints, descriptors, img_kp = sift_descriptor.sift_pipeline(
img=your_image,
save_results=True
)
Example 4: Edge and Corner Detection
from cv_toolkit import edge_line_corner_detection
# Run full detection pipeline
results = edge_line_corner_detection.detection_pipeline(save_results=True)
# Or use individual functions
edges = edge_line_corner_detection.detect_edges(img)
lines_img = edge_line_corner_detection.detect_lines(img)
corners = edge_line_corner_detection.detect_shi_tomasi_corners(img)
Example 5: Fundamental Matrix
from cv_toolkit import fundamental_matrix
# Run demo with sample stereo images
F, matches, epi1, epi2 = fundamental_matrix.fundamental_matrix_pipeline(
save_results=True
)
Module Overview
| Module | Description |
|---|---|
image_processing |
Basic image operations (load, resize, filter) |
geometric_transforms |
Geometric transformations (rotate, scale, etc.) |
homography |
Homography matrix computation |
perspective_transform |
Perspective transformations |
camera_calibration |
Camera calibration and undistortion |
fundamental_matrix |
Fundamental matrix from stereo pairs |
edge_line_corner_detection |
Edge, line, and corner detection |
sift_descriptor |
SIFT feature detection |
surf_hog_descriptor |
SURF and HOG descriptors |
Requirements
- Python >= 3.7
- NumPy >= 1.19.0
- OpenCV >= 4.5.0
- scikit-image >= 0.18.0
- matplotlib >= 3.3.0
Usage Examples
Import All Modules
from cv_toolkit import (
image_processing,
geometric_transforms,
homography,
perspective_transform,
camera_calibration,
fundamental_matrix,
edge_line_corner_detection,
sift_descriptor,
surf_hog_descriptor
)
Run All Demos
import cv_toolkit.image_processing as ip
import cv_toolkit.geometric_transforms as gt
import cv_toolkit.sift_descriptor as sift
ip.demo()
gt.demo()
sift.demo()
Development
Install in Development Mode
pip install -e .[dev]
Run Tests (when implemented)
pytest
License
MIT License - see LICENSE file for details
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
Author
Your Name - your.email@example.com
Acknowledgments
- Built using OpenCV, scikit-image, and NumPy
- Based on classical computer vision algorithms and techniques
Metadata
Release files for cv-toolkit-new 0.1.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| cv_toolkit_new-0.1.3.tar.gz | 17.2 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| cv_toolkit_new-0.1.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 41.3 kB
Release files / cv_toolkit_new-0.1.3.tar.gz
| Download URL | cv_toolkit_new-0.1.3.tar.gz |
|---|---|
| Size | 17.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
148d5cd60ab59229a2aade0e8ca4ce04bfe290b15ba720c433b793cf490b8a41
|
|
BLAKE2b-256 checksum How to use checksums |
0a5515777b8e3729f8038d9674e3e92ce27c6d6732608ecdc04c15ab36f28fa2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.7
|
Release files / cv_toolkit_new-0.1.3-py3-none-any.whl
| Download URL | cv_toolkit_new-0.1.3-py3-none-any.whl |
|---|---|
| Size | 24.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
d7067a245e2c04ea63cf67d23041a294574052e61100e41014394656a37dcec8
|
|
BLAKE2b-256 checksum How to use checksums |
1237dba7eb596decfdf84861b37e88378a3f80266e3f03b3f4f7ad6b5706f8a8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.13.7
|
Security for cv-toolkit-new 0.1.3
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.