Agent Skills
VisualizationDPI

DPI Upscaler & Checker

AIPOCH

Check image DPI and intelligently upscale low-resolution images using super-resolution

50
0
FILES
dpi-upscaler-checker/
skill.md
scripts
main.py

SKILL.md

DPI Upscaler & Checker

Check if images meet 300 DPI printing standards, and intelligently restore blurry low-resolution images using AI super-resolution technology.

Features

  • DPI Detection: Read and verify image DPI information
  • Intelligent Analysis: Calculate actual print size and pixel density
  • Super-Resolution Restoration: Use Real-ESRGAN algorithm to enhance image clarity
  • Batch Processing: Support single image and batch folder processing
  • Format Support: JPG, PNG, TIFF, BMP, WebP

Use Cases

  • Academic paper figure DPI checking
  • Print image quality pre-inspection
  • Low-resolution material restoration
  • Document scan enhancement

Usage

Check Single Image DPI

python scripts/main.py check --input image.jpg

Batch Check Folder

python scripts/main.py check --input ./images/ --output report.json

Super-Resolution Restoration

python scripts/main.py upscale --input image.jpg --output upscaled.jpg --scale 4

Batch Fix Low DPI Images

python scripts/main.py upscale --input ./images/ --output ./output/ --min-dpi 300 --scale 2

Parameters

Check Command

ParameterTypeDefaultRequiredDescription
--inputstring-YesInput image path or folder
--outputstringstdoutNoOutput report path
--target-dpiint300NoTarget DPI threshold

Upscale Command

ParameterTypeDefaultRequiredDescription
--inputstring-YesInput image path or folder
--outputstring-YesOutput path
--scaleint2NoScale factor (2/3/4)
--min-dpiint-NoOnly process images below this DPI
--denoiseint0NoDenoise level (0-3)
--face-enhanceflagfalseNoEnable face enhancement

Output Description

DPI Check Report

{
  "file": "image.jpg",
  "dpi": [72, 72],
  "width_px": 1920,
  "height_px": 1080,
  "print_width_cm": 67.7,
  "print_height_cm": 38.1,
  "meets_300dpi": false,
  "recommended_scale": 4.17
}

Restored Image

  • Automatically saved as <original_filename>_upscaled.<extension>
  • Preserves original EXIF information
  • Sets DPI to 300

Dependencies

  • Python >= 3.8
  • Pillow >= 9.0.0
  • opencv-python >= 4.5.0
  • numpy >= 1.21.0
  • realesrgan (optional, for best results)

Algorithm Description

DPI Calculation

Actual DPI = Pixel dimensions / Physical dimensions
Print size (cm) = Pixel count / DPI * 2.54

Super-Resolution

  • Default use of Real-ESRGAN model
  • Support lightweight bicubic interpolation fallback
  • Intelligent model selection (general/anime/face)

Notes

  1. Input image DPI information may be inaccurate; actual pixel calculation shall prevail
  2. Super-resolution cannot create non-existent information; extremely blurry images have limited improvement
  3. Large file processing requires more memory
  4. GPU acceleration requires CUDA environment (optional)

Risk Assessment

Risk IndicatorAssessmentLevel
Code ExecutionPython/R scripts executed locallyMedium
Network AccessNo external API callsLow
File System AccessRead input files, write output filesMedium
Instruction TamperingStandard prompt guidelinesLow
Data ExposureOutput files saved to workspaceLow

Security Checklist

  • No hardcoded credentials or API keys
  • No unauthorized file system access (../)
  • Output does not expose sensitive information
  • Prompt injection protections in place
  • Input file paths validated (no ../ traversal)
  • Output directory restricted to workspace
  • Script execution in sandboxed environment
  • Error messages sanitized (no stack traces exposed)
  • Dependencies audited

Prerequisites

# Python dependencies
pip install -r requirements.txt

Evaluation Criteria

Success Metrics

  • Successfully executes main functionality
  • Output meets quality standards
  • Handles edge cases gracefully
  • Performance is acceptable

Test Cases

  1. Basic Functionality: Standard input → Expected output
  2. Edge Case: Invalid input → Graceful error handling
  3. Performance: Large dataset → Acceptable processing time

Lifecycle Status

  • Current Stage: Draft
  • Next Review Date: 2026-03-06
  • Known Issues: None
  • Planned Improvements:
    • Performance optimization
    • Additional feature support