imageterminal 2.0.1
A  terminal tool for advanced image manipulation including a filetype converter, background remover, and blazing fast image upscaling!
License: Apache-2.0
Requires Python: >=3.8

# Image Terminal

A powerful terminal-based image manipulation program built with Python and Textual. Image Terminal provides an intuitive interface for advanced image processing tasks including format conversion, background removal, and AI-powered upscaling.

![License](https://img.shields.io/badge/license-Apache--2.0-blue.svg)
![Python](https://img.shields.io/badge/python-3.8%2B-blue.svg)

## Features

### 🔄 Format Conversion
Convert between multiple image formats with ease:
- **Supported formats**: PNG, JPG, JPEG, BMP, WEBP, AVIF
- **Smart format detection**: Automatically detects current format
- **Quality preservation**: Maintains image quality during conversion

### 🎨 Background Removal
Remove backgrounds from images using advanced AI:
- **AI-powered**: Uses the `rembg` library for precise background removal
- **Transparent backgrounds**: Creates PNG files with transparent backgrounds
- **Format compatibility**: Handles JPEG/JPG with white background fallback
- **High quality**: Preserves subject details and edges

### 🚀 AI Image Upscaling
Enhance image resolution with deep learning:
- **Multiple scale factors**: 2x, 3x, and 4x upscaling options
- **EDSR models**: Uses Enhanced Deep Super-Resolution models
- **Quality enhancement**: Improves both resolution and image quality
- **Format support**: Works with all major image formats

# imageterminal

## Installation

**Requirements**  
- Python 3.8+

### From PyPI

```
pip install imageterminal
```

### From Source

```
git clone https://github.com/yourusername/imageterminal.git
cd imageterminal
pip install -e .
```

## Usage

Run the app from your terminal:
```
imageterminal
```

### Basic Steps

1. **Start the app:**  
   Run `imageterminal` in your terminal.

2. **Upload your image:**  
   Click "Upload Image!" and select a file.

3. **Pick a tool:**  
   - Change Filetype
   - Remove Background
   - Scale Image

4. **Save your result:**  
   Choose where to save the processed image.

### Supported Formats

- PNG (.png)
- JPEG (.jpg, .jpeg)
- BMP (.bmp)
- WEBP (.webp)
- AVIF (.avif)

**That's it! You're ready to use imageterminal.**

## Technical Details

### Dependencies
- **Textual**: Modern terminal UI framework
- **Pillow**: Python Imaging Library
- **OpenCV**: Computer vision and image processing
- **rembg**: AI background removal
- **NumPy**: Numerical computing
- **PyTorch**: Deep learning framework (via rembg)

### Performance Notes
- **Background removal**: Typically takes 5-15 seconds depending on image size
- **Upscaling**: Takes around 5-15 seconds depending on scale factor and image size
- **Format conversion**: Near-instantaneous for most operations

### System Requirements
- **RAM**: Minimum 1GB (2GB+ recommended for large images)
- **Storage**: ~50MB for dependencies and models
- **CPU**: Multi-core processor recommended for faster processing

## File Structure
```
imageterminal/
├── main.py              # Main application file
├── style.tcss           # Textual CSS styling
├── requirements.txt    # Python dependencies
└── README.md          # This file
```

## Contributing

Contributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.

## License

This project is licensed under the Apache License 2.0 - see the [LICENSE](https://github.com/Iantaw/imageterminal/blob/main/LICENSE) file for details.

## Acknowledgments

- **Textual** - For the excellent terminal UI framework
- **OpenCV** - For computer vision capabilities
- **rembg** - For AI background removal
- **EDSR** - For super-resolution models
- **Pillow** - For image processing utilities

## Author

Ian Tawileh

---

*Image Terminal - Transform your images with the power of AI, all from your terminal.*