A lightweight, fast, and easy-to-use Python computer vision library
Project description
LiteCV - Lightweight Computer Vision Library
A lightweight, fast, and easy-to-use Python computer vision library
Features • Installation • Quick Start • Documentation • Examples • Contributing • License
About
LiteCV is a lightweight Python computer vision library designed for simplicity and performance. Inspired by OpenCV, it provides essential image processing operations, real-time camera capture, and a collection of filters optimized for both desktop and mobile devices. Built on top of industry-standard libraries like Pillow, pygame, and numpy, LiteCV offers a clean, intuitive API for computer vision tasks.
Why LiteCV?
- Lightweight: Minimal dependencies, fast imports
- Easy to Learn: Simple, intuitive API inspired by OpenCV
- Fast: Optimized for real-time processing
- Mobile-Friendly: Designed with mobile devices in mind
- Well-Documented: Comprehensive examples and API docs
- Active Development: Regularly maintained and updated
Features
Core Image Operations
- ✅ Image I/O: Load, save, and convert images
- ✅ Resizing: Resize by pixels or percentage with quality options
- ✅ Color Conversion: RGB, Grayscale, and color space transformations
- ✅ Enhancements: Brightness, contrast, saturation, sharpness adjustments
Filters & Effects
- 🎨 Basic Filters: Grayscale, Blur, Edges, Sepia
- 🎨 Advanced Filters: Cartoon, Sketch, Thermal, Night Vision, Infrared
- 🎨 Motion Detection: Real-time motion tracking
- 🎨 Customizable: Easy to extend with custom filters
Drawing & Graphics
- 🖼️ Shapes: Draw circles, rectangles, and lines
- 🖼️ Text: Render text with custom fonts and sizes
- 🖼️ Composition: Concatenate and blend images
Camera & Real-Time Processing
- 📹 Live Camera Feed: Real-time camera capture with pygame
- 📹 Filter Application: Apply filters to live video streams
- 📹 Interactive UI: Built-in GUI for camera control
- 📹 Frame Control: Get individual frames or stream frames
Advanced Features
- 🔍 Object Detection: Basic object detection framework
- 🎬 Video Processing: Video frame extraction and processing
- 📊 NumPy Integration: Direct array access for advanced operations
- ⚡ Caching: Smart caching for performance optimization
Installation
From Local Repository (Development)
cd litecv
pip install -e .
From PyPI (When Published)
pip install litecv
System Requirements
- Python: 3.10 or higher
- Operating System: Windows, macOS, Linux
- Camera (optional): For real-time camera features
Dependencies
pygame>=2.6.1- Camera capture and real-time displayPillow>=10.0.0- Image processingnumpy>=1.26.0- Array operations
Quick Start
1. Create and Save an Image
from litecv import new_image
# Create a 400x300 pixel image
img = new_image(400, 300, color='lightblue')
# Add text
img.draw_text('Hello LiteCV!', (50, 50), color='darkblue', size=24)
# Add shapes
img.draw_circle((200, 150), 50, color='red', fill='yellow')
img.draw_rectangle((100, 100), (300, 200), color='green', width=2)
# Save the image
img.save('my_image.jpg')
2. Apply Filters
from litecv import open_image, FilterType, StreamingFilter
# Open an existing image
img = open_image('my_image.jpg')
# Apply a filter
filter = StreamingFilter(FilterType.GRAYSCALE)
result = filter.apply(img.copy())
# Save the result
result.save('my_image_grayscale.jpg')
3. Real-Time Camera
from litecv import RealTimeCameraApp
# Create and start the camera app
app = RealTimeCameraApp(resolution=(800, 600), camera_resolution=(640, 480))
app.start()
# Use keyboard controls:
# 1-9: Switch filters
# 0: Original (no filter)
# ESC: Exit
4. Image Manipulation
from litecv import open_image, concatenate, blend_images
# Open images
img1 = open_image('image1.jpg')
img2 = open_image('image2.jpg')
# Resize
img1.resize(320, 240)
# Adjust properties
img1.brightness(1.2) # 20% brighter
img1.contrast(0.9) # 10% lower contrast
img1.saturation(1.5) # 50% more colorful
# Concatenate images
combined = concatenate([img1, img2], direction='horizontal')
combined.save('combined.jpg')
# Blend images
blended = blend_images(img1, img2, alpha=0.5)
blended.save('blended.jpg')
Available Filters
LiteCV includes 10+ built-in filters accessible via FilterType enum:
| Filter | Description | Use Case |
|---|---|---|
GRAYSCALE |
Convert to grayscale | B&W photography, preprocessing |
EDGES |
Edge detection | Object boundary detection |
BLUR |
Gaussian blur | Smoothing, privacy masking |
SEPIA |
Vintage sepia tone | Retro effects |
CARTOON |
Cartoon effect | Artistic rendering |
SKETCH |
Pencil sketch | Art simulation |
THERMAL |
Thermal imaging | Thermal effect |
NIGHT_VISION |
Night vision effect | Low-light simulation |
INFRARED |
Infrared imaging | IR effect |
MOTION_DETECT |
Motion detection | Movement tracking |
Documentation
API Reference
See docs/api.md for complete API documentation including:
AdvancedLiteImageclass methodsStreamingFilterusageCameraFeedreal-time control- Utility functions
Usage Guide
See docs/usage.md for:
- Detailed usage examples
- Best practices
- Performance optimization tips
- Common workflows
Examples
The examples/ folder contains production-ready demo scripts:
Basic Operations
- basic_image.py - Create and draw on images
- utilities.py - Image concatenation and blending
Filters
- filters_demo.py - Apply all available filters
Real-Time
- camera_app.py - Interactive camera application
Advanced
- object_detection.py - Object detection demo
- video_demo.py - Video frame processing
Branding
- logo_demo.py - Access logo assets programmatically
Running Examples
# Run any example with:
python examples/<filename>.py
# For instance:
python examples/basic_image.py
python examples/filters_demo.py
python examples/camera_app.py
Project Structure
litecv/
├── litecv/
│ ├── __init__.py # Package entry point
│ └── _litecv.py # Core implementation
├── examples/
│ ├── basic_image.py # Basic operations
│ ├── filters_demo.py # Filter demonstrations
│ ├── camera_app.py # Real-time camera
│ ├── object_detection.py # Detection example
│ ├── utilities.py # Utility operations
│ ├── video_demo.py # Video processing
│ ├── logo_demo.py # Logo utilities
│ └── README.md # Examples documentation
├── docs/
│ ├── api.md # Complete API reference
│ └── usage.md # Usage guide
├── logo/
│ ├── logo.png # Main logo
│ ├── litecv_logo.svg # Vector logo
│ └── generate_logo.py # Logo generation script
├── tests/
│ ├── test_import.py # Import tests
│ └── test_examples.py # Example validation
├── README.md # This file
├── LICENSE # MIT License
├── setup.cfg # Package configuration
└── pyproject.toml # Build configuration
Performance Tips
For Real-Time Applications
# Use optimize_speed=True for mobile/real-time
img.resize(320, 240, optimize_speed=True)
img.blur(radius=2, optimize_speed=True)
# Cache numpy arrays to avoid repeated conversions
arr = img.to_numpy() # Cached internally
Memory Optimization
# Work with copies to preserve originals
filtered = img.copy()
filtered.blur(5)
# Load images in batches
images = [open_image(f) for f in file_list[:10]]
Troubleshooting
Camera Not Detected
# Check available cameras
import pygame.camera
pygame.camera.init()
cameras = pygame.camera.list_cameras()
print("Available cameras:", cameras)
Import Errors
Ensure all dependencies are installed:
pip install pygame pillow numpy
Image Codec Issues
For specific formats, install additional codecs:
# For WebP support
pip install Pillow-webp
Related Projects
LowMind
LowMind is a companion project providing AI and machine learning utilities. Install it with:
pip install lowmind
Visit the LowMind documentation for more information.
Contributing
We welcome contributions! To contribute:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
Development Setup
git clone https://github.com/yourusername/litecv.git
cd litecv
pip install -e .
python -m pytest tests/
Code Style
- Follow PEP 8
- Use type hints where possible
- Write docstrings for all public methods
- Add tests for new features
Roadmap
- GPU acceleration with CUDA
- More object detection models
- Video file I/O
- Face detection and recognition
- Machine learning integration
- Mobile app support
- Web interface
- Performance benchmarks
License
LiteCV is licensed under the MIT License - see LICENSE file for details.
MIT License
Copyright (c) 2026 LiteCV Contributors
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction...
Changelog
Version 0.1.0 (2026-05-03)
- Initial release
- Core image operations
- 10+ built-in filters
- Real-time camera support
- Object detection framework
- Comprehensive documentation
- 8 example scripts
Support
- 📖 Documentation
- 💬 Issues
- 📧 Contact: author@example.com
Acknowledgments
Made with ❤️ by the LiteCV team
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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file litecv-0.1.0.tar.gz.
File metadata
- Download URL: litecv-0.1.0.tar.gz
- Upload date:
- Size: 24.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4935335552945723e74d3b66633d8656fda34e218d62726617f5f3f3ad1e7d3a
|
|
| MD5 |
82699412c29fa42a93f71537b52f3825
|
|
| BLAKE2b-256 |
6f00eeafc93f1e7c7cafd475f7204aabb38dafca54e684fbb98aaf7092bbf53c
|
File details
Details for the file litecv-0.1.0-py3-none-any.whl.
File metadata
- Download URL: litecv-0.1.0-py3-none-any.whl
- Upload date:
- Size: 19.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
752a1bd769eb07ec63a219dab092380c490d14dc5127842d9e74386fc3d82e30
|
|
| MD5 |
c3d68f08bf120c38fdedcc3a6bbd3978
|
|
| BLAKE2b-256 |
e93b09f6177439020a5dfee1e3fa2a72bc1ea0eaa909602f03d634a6482b8df6
|