image-filter-lab
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseImage 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
- 色彩滤镜:深褐(Sepia)、黑白(B&W)、色彩色调、饱和度调整
- 模糊效果:高斯模糊、运动模糊、径向模糊
- 艺术滤镜:复古(Vintage)、胶片颗粒、暗角(Vignette)
- 图像增强:锐化、对比度、亮度调整
- 自定义预设:保存并应用滤镜组合
- 批量处理:为多张图片应用滤镜
Quick Start
快速开始
python
from image_filter import ImageFilterLab
lab = ImageFilterLab()
lab.load("photo.jpg")python
from image_filter import ImageFilterLab
lab = ImageFilterLab()
lab.load("photo.jpg")Apply vintage filter
Apply vintage filter
lab.vintage()
lab.save("photo_vintage.jpg")
lab.vintage()
lab.save("photo_vintage.jpg")
Chain multiple effects
Chain multiple effects
lab.load("photo.jpg")
lab.brightness(1.2).contrast(1.1).saturation(0.8).vignette()
lab.save("photo_edited.jpg")
undefinedlab.load("photo.jpg")
lab.brightness(1.2).contrast(1.1).saturation(0.8).vignette()
lab.save("photo_edited.jpg")
undefinedCLI Usage
CLI 使用方式
bash
undefinedbash
undefinedApply single filter
Apply single filter
python image_filter.py --input photo.jpg --filter vintage --output result.jpg
python image_filter.py --input photo.jpg --filter vintage --output result.jpg
Apply multiple filters
Apply multiple filters
python image_filter.py -i photo.jpg --sepia --vignette --sharpen -o result.jpg
python image_filter.py -i photo.jpg --sepia --vignette --sharpen -o result.jpg
Adjust parameters
Adjust parameters
python image_filter.py -i photo.jpg --brightness 1.2 --contrast 1.1 -o result.jpg
python image_filter.py -i photo.jpg --brightness 1.2 --contrast 1.1 -o result.jpg
Batch process
Batch process
python image_filter.py --batch photos/ --filter vintage --output-dir filtered/
undefinedpython image_filter.py --batch photos/ --filter vintage --output-dir filtered/
undefinedAPI Reference
API 参考
ImageFilterLab Class
ImageFilterLab 类
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]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
- vintage:深褐色调、降低饱和度、暗角效果
- film:轻微去饱和、胶片颗粒、暗部压暗
- instagram:高对比度、暖色调、暗角效果
- noir:高对比度黑白、强暗角
- warm:暖色温、提高饱和度
- cool:冷色温、轻微去饱和
- dramatic:高对比度、深邃阴影
- dreamy:柔焦、高光提亮、低对比度
Dependencies
依赖项
- pillow>=10.0.0
- opencv-python>=4.8.0
- numpy>=1.24.0
- pillow>=10.0.0
- opencv-python>=4.8.0
- numpy>=1.24.0