Skip to content
Back to skills

Image Filter Lab

ASecurity

Apply artistic filters to images including vintage, sepia, B&W, blur, sharpen, vignette, and color adjustments. Create custom filter presets.

  • 99 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added February 7, 2026
data-aipythonbashapi

Works with

  • cli
  • api

Security analysis

A100/100

Pro scans all 3 files and shows the line behind each finding

Scanned February 12, 2026

npx -y skills add dkyazzentwatwa/chatgpt-skills --skill image-filter-lab --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Image Filter Lab?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Image Filter Lab
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/dkyazzentwatwa-image-filter-lab/badge)](https://www.skillsdirectory.com/skills/dkyazzentwatwa-image-filter-lab)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: image-filter-lab
description: Apply artistic filters to images including vintage, sepia, B&W, blur, sharpen, vignette, and color adjustments. Create custom filter presets.
---

# Image Filter Lab

Apply professional filters and effects to images.

## Features

- **Color Filters**: Sepia, B&W, color tint, saturation
- **Blur Effects**: Gaussian, motion, radial blur
- **Artistic Filters**: Vintage, film grain, vignette
- **Enhancements**: Sharpen, contrast, brightness
- **Custom Presets**: Save and apply filter combinations
- **Batch Processing**: Apply filters to multiple images

## Quick Start

```python
from image_filter import ImageFilterLab

lab = ImageFilterLab()
lab.load("photo.jpg")

# Apply vintage filter
lab.vintage()
lab.save("photo_vintage.jpg")

# Chain multiple effects
lab.load("photo.jpg")
lab.brightness(1.2).contrast(1.1).saturation(0.8).vignette()
lab.save("photo_edited.jpg")
```

## CLI Usage

```bash
# Apply single filter
python image_filter.py --input photo.jpg --filter vintage --output result.jpg

# Apply multiple filters
python image_filter.py -i photo.jpg --sepia --vignette --sharpen -o result.jpg

# Adjust parameters
python image_filter.py -i photo.jpg --brightness 1.2 --contrast 1.1 -o result.jpg

# Batch process
python image_filter.py --batch photos/ --filter vintage --output-dir filtered/
```

## API Reference

### ImageFilterLab Class

```python
class ImageFilterLab:
    def __init__(self)

    # Loading
    def load(self, filepath: str) -> 'ImageFilterLab'

    # Color Filters
    def grayscale(self) -> 'ImageFilterLab'
    def sepia(self, intensity: float = 1.0) -> 'ImageFilterLab'
    def negative(self) -> 'ImageFilterLab'
    def tint(self, color: Tuple, intensity: float = 0.3) -> 'ImageFilterLab'

    # Adjustments
    def brightness(self, factor: float) -> 'ImageFilterLab'
    def contrast(self, factor: float) -> 'ImageFilterLab'
    def saturation(self, factor: float) -> 'ImageFilterLab'
    def hue(self, shift: int) -> 'ImageFilterLab'
    def temperature(self, value: int) -> 'ImageFilterLab'

    # Blur Effects
    def blur(self, radius: int = 5) -> 'ImageFilterLab'
    def motion_blur(self, size: int = 15, angle: int = 0) -> 'ImageFilterLab'
    def radial_blur(self, amount: int = 10) -> 'ImageFilterLab'

    # Sharpen
    def sharpen(self, factor: float = 1.0) -> 'ImageFilterLab'
    def unsharp_mask(self, radius: int = 2, percent: int = 150) -> 'ImageFilterLab'

    # Artistic
    def vintage(self) -> 'ImageFilterLab'
    def film_grain(self, amount: int = 25) -> 'ImageFilterLab'
    def vignette(self, radius: float = 0.8, intensity: float = 0.5) -> 'ImageFilterLab'
    def posterize(self, levels: int = 4) -> 'ImageFilterLab'
    def solarize(self, threshold: int = 128) -> 'ImageFilterLab'

    # Presets
    def apply_preset(self, preset: str) -> 'ImageFilterLab'
    def save_preset(self, name: str, operations: List) -> None

    # Output
    def save(self, filepath: str, quality: int = 95) -> str
    def reset(self) -> 'ImageFilterLab'

    # Batch
    def batch_process(self, input_dir: str, output_dir: str,
                     filter_func: callable) -> List[str]
```

## Built-in Presets

- **vintage**: Sepia tint, reduced saturation, vignette
- **film**: Slight desaturation, grain, crushed blacks
- **instagram**: High contrast, warm tint, vignette
- **noir**: High contrast B&W, strong vignette
- **warm**: Warm color temperature, increased saturation
- **cool**: Cool color temperature, slightly desaturated
- **dramatic**: High contrast, deep shadows
- **dreamy**: Soft blur, bright highlights, low contrast

## Dependencies

- pillow>=10.0.0
- opencv-python>=4.8.0
- numpy>=1.24.0

Files in this skill

  • SKILL.md3.6 KB
  • scripts/image_filter.py13.7 KB
  • scripts/requirements.txt50 B

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.