Convert NVIDIA HDR screenshots (JXR format) to JPEG with advanced AI enhancement and intelligent tone mapping.
- Convert NVIDIA JXR (HDR) screenshots to JPEG format
- Intelligent HDR tone mapping with automatic algorithm selection
- AI-powered color enhancement using ensemble deep learning models
- Batch processing support for folders
- Live preview with before/after comparison and histogram visualization
- HDR metadata extraction from JXR files for optimal processing
- Multi-model ensemble using VGG16, ResNet34, and DenseNet121
- CBAM attention mechanism for spatial and channel-wise feature enhancement
- Perceptual color preservation during tone mapping
- Edge enhancement with Sobel filters and adaptive strength control
- Color balance optimization across shadows, midtones, and highlights
- Half-precision (FP16) support for memory-efficient GPU processing
- Perceptual - Advanced tone mapping preserving local contrast and color relationships
- Adaptive - Intelligent blending of multiple operators based on image regions
- Mantiuk06 - Contrast-based tone mapping with local adaptation
- Drago03 - Logarithmic tone mapping optimized for extreme dynamic ranges
- Hable - Filmic tone mapping curve (Uncharted 2)
- ACES - Academy Color Encoding System RRT+ODT
- Reinhard - Extended Reinhard with white point adaptation
- Filmic - Cinematic tone mapping
- Uncharted2 - Game-optimized tone mapping
- Automatic tone mapping selection based on comprehensive image analysis
- Scene classification (high-key, low-key, extreme highlights detection)
- Dynamic range analysis with histogram-based optimization
- Local contrast preservation and enhancement
- Color saturation analysis and adaptive correction
- Modern dark-themed GUI with TKinterModernThemes
- Dual preview modes (Big/Small) with resizable interface
- Real-time histogram visualization with RGB channel analysis
- Progress tracking for batch operations
- Device switching (GPU/CPU) with live performance monitoring
- Parameter adjustment with live preview updates
- Python 3.8+
- NVIDIA GPU (recommended) with CUDA support
- 4GB+ RAM (8GB+ recommended for large images)
torch>=2.0.0
torchvision>=0.15.0
Pillow==10.2.0
numpy==1.26.4
matplotlib==3.9.3
imagecodecs==2024.9.22
TKinterModernThemes==1.10.4
Install PyTorch: Visit https://pytorch.org/ for CUDA-compatible installation
-
Clone the repository:
git clone https://github.com/5ymph0en1x/NVIDIA-HDR-Converter-GUI.git cd NVIDIA-HDR-Converter-GUI
-
Install dependencies:
pip install -r requirements.txt
-
Run the application:
python NHC.py
- Launch the application
- Select "Single File" mode
- Browse and select input JXR file
- Choose output JPEG location
- Adjust parameters (gamma, exposure, enhancement strength)
- Click "Convert"
- Select "Folder" mode
- Choose folder containing JXR files
- Configure enhancement parameters
- Click "Convert"
Note: Converted files are saved in a
Converted_JPGs
subfolder with automatic naming
- Tone Map: Displays auto-detected optimal algorithm
- Gamma: Pre-gamma correction (0.1-3.0, default: 1.0)
- Exposure: Auto-exposure adjustment (0.1-3.0, default: 1.0)
- Enable AI Enhancement: Toggle neural network-based color correction
- Strength: Edge enhancement intensity (0-100%, default: 50%)
- GPU/CPU Selection: Automatic CUDA detection with fallback
- Half-Precision Toggle: Enable FP16 for memory efficiency (GPU only)
- Big Mode: 2200×850 window with 720×406 previews
- Small Mode: 1760×840 window with 512×288 previews
- JXR Decoding with metadata extraction
- Image Analysis for optimal tone mapping selection
- Tone Mapping using selected algorithm
- AI Enhancement (optional) with color correction
- Edge Enhancement (optional) with adaptive filtering
- sRGB Conversion and JPEG encoding
Input → VGG16 Features ↘
→ ResNet34 Features → Feature Fusion → CBAM Attention → Color Transform → Output
→ DenseNet Features ↗
- HDRMetadata: Extracts luminance and color space information
- AdvancedToneMapper: Multi-algorithm tone mapping with automatic selection
- PerceptualColorPreserver: CIE LAB color space preservation
- ColorCorrectionNet: Ensemble deep learning model
- EdgeEnhancementBlock: Sobel-based edge detection and enhancement
- DeviceManager: GPU/CPU switching with memory optimization
- Memory-efficient tensor operations with automatic cleanup
- Multi-threaded processing for batch operations
- Progressive image loading for large files
- CUDA memory management with automatic cache clearing
- Half-precision support reducing memory usage by 50%
- Dynamic range analysis (min/max/mean luminance)
- Zone system analysis (shadow/midtone/highlight distribution)
- Local contrast measurement with variance analysis
- Color saturation evaluation across channels
- Scene classification (high-key/low-key/extreme highlights)
- JXR files (JPEG XR) from NVIDIA HDR screenshots
- HDR metadata automatic extraction and utilization
- JPEG with optimized quality settings (95% quality, optimized compression)
- Comprehensive logging to
hdr_converter.log
- Real-time status updates in GUI
- Error handling with detailed messages
- Performance metrics logging
- JXR format only - other HDR formats not supported
- NVIDIA screenshots - optimized for NVIDIA HDR capture format
- Memory requirements - large images may require significant RAM
- "imagecodecs version compatibility": Update imagecodecs to latest version
- CUDA out of memory: Enable FP16 mode or switch to CPU processing
- JXR decode failure: Ensure file is valid NVIDIA HDR screenshot
- Use GPU mode for faster processing
- Enable FP16 to reduce memory usage
- Close other applications when processing large batches
- Use Small mode for lower memory usage
- PyTorch pretrained models (VGG16, ResNet34, DenseNet121)
- TKinterModernThemes for modern GUI design
- imagecodecs for JXR decoding support
- NVIDIA for HDR screenshot format documentation
This project is open source. Please check the license file for details.
Version: Enhanced Edition with AI-powered processing and intelligent tone mapping