Skip to content

Latest commit

 

History

History
104 lines (77 loc) · 2.71 KB

File metadata and controls

104 lines (77 loc) · 2.71 KB

Contributing to Video Logo Remover

Thank you for your interest in contributing! This document provides guidelines for contributing to the project.

Code of Conduct

Be respectful, inclusive, and professional. We're all here to make a great tool together.

How to Contribute

Reporting Bugs

  1. Check if the bug has already been reported in Issues
  2. 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.)

Suggesting Features

  1. Open an issue with the "enhancement" label
  2. Describe the feature and why it would be useful
  3. Provide examples if possible

Pull Requests

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature-name
  3. Make your changes
  4. Test thoroughly
  5. Commit with clear messages: git commit -m "Add feature X"
  6. Push: git push origin feature-name
  7. Open a Pull Request

Development Setup

# 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

Code Style

  • 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

Example Function Style

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)

Testing

Before submitting a PR:

  1. Test with various video formats (MP4, AVI, MOV)
  2. Test with different resolutions (720p, 1080p, 4K)
  3. Test edge cases (invalid regions, missing files, etc.)
  4. Test both removal methods (color sampling and inpainting)

Areas for Contribution

High Priority

  • GPU acceleration support
  • Additional blending algorithms
  • Better color sampling methods
  • GUI interface
  • Video preview/scrubbing tool

Medium Priority

  • Support for more video codecs
  • Batch processing improvements
  • Performance optimizations
  • Better documentation

Low Priority

  • Video format conversion
  • Automatic logo detection (ML-based)
  • Cloud processing support

Questions?

Open an issue or discussion if you have questions about contributing!