← Back to Skills Marketplace
213
Downloads
0
Stars
0
Active Installs
1
Versions
Install in OpenClaw
/install dpi-upscaler-checker
Description
Check image DPI and intelligently upscale low-resolution images using super-resolution
README (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
| Parameter | Type | Default | Required | Description |
|---|---|---|---|---|
--input |
string | - | Yes | Input image path or folder |
--output |
string | stdout | No | Output report path |
--target-dpi |
int | 300 | No | Target DPI threshold |
Upscale Command
| Parameter | Type | Default | Required | Description |
|---|---|---|---|---|
--input |
string | - | Yes | Input image path or folder |
--output |
string | - | Yes | Output path |
--scale |
int | 2 | No | Scale factor (2/3/4) |
--min-dpi |
int | - | No | Only process images below this DPI |
--denoise |
int | 0 | No | Denoise level (0-3) |
--face-enhance |
flag | false | No | Enable 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
\x3Coriginal_filename>_upscaled.\x3Cextension> - 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
- Input image DPI information may be inaccurate; actual pixel calculation shall prevail
- Super-resolution cannot create non-existent information; extremely blurry images have limited improvement
- Large file processing requires more memory
- GPU acceleration requires CUDA environment (optional)
Risk Assessment
| Risk Indicator | Assessment | Level |
|---|---|---|
| Code Execution | Python/R scripts executed locally | Medium |
| Network Access | No external API calls | Low |
| File System Access | Read input files, write output files | Medium |
| Instruction Tampering | Standard prompt guidelines | Low |
| Data Exposure | Output files saved to workspace | Low |
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
- Basic Functionality: Standard input → Expected output
- Edge Case: Invalid input → Graceful error handling
- 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
Usage Guidance
This skill appears to implement DPI checks and local upscaling, but before installing or running it consider the following:
- EXIF claim mismatch: The README says it preserves EXIF, but the visible code saves images without re-attaching EXIF data. If preserving metadata matters, inspect/modify the script to pass exif=img.info.get('exif') when saving.
- Path safety: The script will recurse and read any files under the supplied input path and write to the supplied output path. Provide explicit, sandboxed input/output directories and avoid running against system or home directories. Test on sample data first.
- Model files: The code references optional model files (Real-ESRGAN, EDSR .pb). There is no automatic download—obtain trusted model binaries separately and verify checksums.
- Dependencies: requirements.txt has duplicate/incorrect entries. Install dependencies in an isolated virtualenv before running.
- Truncated file / unknown remainder: The provided main.py snippet is truncated; review the complete script to ensure there are no hidden network calls, telemetry, or unexpected behavior before trusting it with important data.
Best practice: run the script in a sandboxed environment (non-root user, container or VM), back up originals, and review/modify the code for EXIF and path-validation fixes if you plan to use it on sensitive files.
Capability Analysis
Type: OpenClaw Skill
Name: dpi-upscaler-checker
Version: 0.1.0
The skill bundle provides a legitimate utility for checking image DPI and upscaling low-resolution images using AI models (Real-ESRGAN or OpenCV DNN). The core logic in `scripts/main.py` uses standard libraries like Pillow and NumPy to process images and includes safe path handling using `pathlib` to prevent traversal issues during batch processing. The documentation in `SKILL.md` is transparent about the tool's capabilities and risks, and no evidence of malicious intent, data exfiltration, or prompt injection was found.
Capability Assessment
Purpose & Capability
Name/description align with included code: DPIChecker and ImageUpscaler implement DPI measurement and local upscaling using PIL/OpenCV/Real-ESRGAN. No unrelated credentials, binaries, or services are requested.
Instruction Scope
SKILL.md instructs running scripts/main.py for check/upscale which reads input files and writes output files—expected for this tool. However, SKILL.md claims 'preserves original EXIF information' but the shown save() call does not pass EXIF data back into the output image (no exif=... passed), so that claim is inconsistent with code. The checklist mentions path traversal protection, but the code does not show explicit input path sanitization; it will recurse and read any files under the provided input path and write to the output path. No network endpoints or secret access are present in the visible code.
Install Mechanism
There is no install specification (instruction-only), which is lower risk. A requirements.txt is included but not automatically applied; it contains duplicate/incorrect entries (e.g., both 'pil' and 'pillow', 'cv2' and 'opencv-python'), which is sloppy but not directly malicious. The code references model files (e.g., EDSR_x{scale}.pb) and Real-ESRGAN but offers no automated download—user must supply models.
Credentials
The skill requires no environment variables, no credentials, and no special system-wide config. Requested access (filesystem read/write of provided paths) is proportionate to its stated functionality.
Persistence & Privilege
always is false, the skill does not request persistent agent privileges, and there's no evidence it modifies other skills or global agent settings in the visible code.
How to Use
- Make sure OpenClaw is installed (local or Docker)
- Run the install command in chat:
/install dpi-upscaler-checker - After installation, invoke the skill by name or use
/dpi-upscaler-checker - Provide required inputs per the skill's parameter spec and get structured output
Version History
v0.1.0
Initial public release of DPI Upscaler & Checker.
- Detects and verifies image DPI, including batch processing support.
- Calculates print size and pixel density to assess print readiness.
- Upscales low-resolution images using AI-based super-resolution (Real-ESRGAN), with optional face enhancement and denoising.
- Supports multiple image formats: JPG, PNG, TIFF, BMP, WebP.
- Outputs comprehensive DPI reports and saves upscaled images with preserved metadata.
- Includes risk assessment, security checklist, and usage instructions.
Metadata
Frequently Asked Questions
What is Dpi Upscaler Checker?
Check image DPI and intelligently upscale low-resolution images using super-resolution. It is an AI Agent Skill for Claude Code / OpenClaw, with 213 downloads so far.
How do I install Dpi Upscaler Checker?
Run "/install dpi-upscaler-checker" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.
Is Dpi Upscaler Checker free?
Yes, Dpi Upscaler Checker is completely free, licensed under MIT-0. You can download, install and use it at no cost.
Which platforms does Dpi Upscaler Checker support?
Dpi Upscaler Checker is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).
Who created Dpi Upscaler Checker?
It is built and maintained by AIpoch (@aipoch-ai); the current version is v0.1.0.
More Skills