Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/timomt/image-lab
A simple image manipulator to visualize matrix transformations
https://github.com/timomt/image-lab
Last synced: 16 days ago
JSON representation
A simple image manipulator to visualize matrix transformations
- Host: GitHub
- URL: https://github.com/timomt/image-lab
- Owner: timomt
- Created: 2024-06-12T10:54:47.000Z (7 months ago)
- Default Branch: main
- Last Pushed: 2024-08-30T09:19:26.000Z (5 months ago)
- Last Synced: 2024-11-08T08:51:17.254Z (2 months ago)
- Language: Java
- Homepage: https://timomt.github.io/image-lab/
- Size: 127 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# image-lab
## Overview
**image-lab** is a simple Java Swing application that allows you to load images and apply matrix transformations to their color (e.g., RGB) and coordinate properties. This tool is designed to help you visualize how matrices can be used to alter images, providing a better understanding of linear as well as affine transformations in the context of image processing.
## Features
- Load images from various formats (e.g., PNG, JPEG, BMP)
- Apply matrix transformations to image colors (RGB)
- Apply matrix transformations to image coordinates
- Visualize the effects of different matrix transformations
- Save transformed images## Good to know
- Image transformations are generally calculated relatively to the center of the image, not the top left corner
- The cartesian coordinate system is used for matrix transformations
- Color transformation is currently only supported on images with a color spectrum representable as a 3x1 matrix (e.g., RGB)
- The input fields are evaluated using exp4j (https://github.com/fasseg/exp4j), allowing for mathematical inputs such as cos() and sin().
For more information on its capabilities, refer to the repository and documentation (https://www.objecthunter.net/ exp4j/), particularly the sections on "Built-in operators" and "Built-in functions."## Table of Contents
- [Prerequisites](#prerequisites)
- [Installation](#installation)
- [Usage](#usage)
- [Examples](#examples)## Prerequisites
- JDK 21
- Maven## Installation
```sh
git clone https://github.com/timomt/image-lab.git
cd image-lab
mvn clean install
```## Usage
Run the jar file generated by mvn clean install in the target directory## Examples
![Screenshot_20240615_201830](https://github.com/timomt/image-lab/assets/119742190/850c3163-0ca6-4160-98e3-0855c30cf704)
![Screenshot_20240615_201910](https://github.com/timomt/image-lab/assets/119742190/a4fd914b-c2e3-4752-bc9a-9d7977afe6c5)