Thank you for your interest in contributing! This document provides guidelines for contributing to the project.
Be respectful, inclusive, and professional. We're all here to make a great tool together.
- Check if the bug has already been reported in Issues
- If not, create a new issue with:
- Clear title and description
- Steps to reproduce
- Expected vs actual behavior
- Your environment (OS, Python version, OpenCV version)
- Video details if relevant (resolution, codec, etc.)
- Open an issue with the "enhancement" label
- Describe the feature and why it would be useful
- Provide examples if possible
- Fork the repository
- Create a feature branch:
git checkout -b feature-name - Make your changes
- Test thoroughly
- Commit with clear messages:
git commit -m "Add feature X" - Push:
git push origin feature-name - Open a Pull Request
# Clone your fork
git clone https://github.com/yourusername/video-logo-remover.git
cd video-logo-remover
# Install dependencies
pip install -r requirements.txt
# Make changes and test
python remove_logo_regions.py --help- Follow PEP 8
- Use type hints for function parameters and returns
- Add docstrings to all functions (describe what they do at the top)
- Keep functions focused and under 50 lines when possible
- Use descriptive variable names
- No inline comments - explain logic in function docstrings
def process_frame(frame: np.ndarray, region: Dict) -> np.ndarray:
"""
Process a single frame by covering the specified region.
Uses color sampling from surrounding areas for natural blending.
"""
x, y, w, h = region['x'], region['y'], region['w'], region['h']
color = sample_color(frame, x, y, w, h)
return apply_cover(frame, x, y, w, h, color)Before submitting a PR:
- Test with various video formats (MP4, AVI, MOV)
- Test with different resolutions (720p, 1080p, 4K)
- Test edge cases (invalid regions, missing files, etc.)
- Test both removal methods (color sampling and inpainting)
- GPU acceleration support
- Additional blending algorithms
- Better color sampling methods
- GUI interface
- Video preview/scrubbing tool
- Support for more video codecs
- Batch processing improvements
- Performance optimizations
- Better documentation
- Video format conversion
- Automatic logo detection (ML-based)
- Cloud processing support
Open an issue or discussion if you have questions about contributing!