https://github.com/aquajo/image-manipulator
image-manipulator for images and gifs
https://github.com/aquajo/image-manipulator
convolution-matrix filtering image-manipulation image-processing kernel-convolution
Last synced: 4 months ago
JSON representation
image-manipulator for images and gifs
- Host: GitHub
- URL: https://github.com/aquajo/image-manipulator
- Owner: AquaJo
- License: mit
- Created: 2022-05-01T18:08:08.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2024-01-07T17:23:03.000Z (over 1 year ago)
- Last Synced: 2025-01-05T10:20:58.079Z (5 months ago)
- Topics: convolution-matrix, filtering, image-manipulation, image-processing, kernel-convolution
- Language: Java
- Homepage:
- Size: 869 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
## image-manipulator
Project was created with blueJ (IDE). Open the project in BlueJ for a better structure (instructions below). \
Its an image-manipulator GUI, working with JavaFX and was developed for a school project. You can use different filter-matrices and functions on images and gifs. If you want, you can directly import them through URLs. \
There is also the ability to include a ftp-server for a public galery. For that, go into config.java and add your ftp-information. Also turn boolean ftpServerON to true. \
Language support: English and German
### How to run:
Go to ./src/ and open package.bluej with bluej (IDE). After opening, compile, right click "BildbearbeitungGUI"-class and left click "Run JavaFX-Application".
### Example:
original | relief filter
:-------------------------:|:-------------------------:
 | source: https://cybercashworldwide.com/royalty-free-gif-images-for-your-website || https://cybercashworldwide.com/wp-content/uploads/2017/05/Gif-Image20.gif
### Supported actions:
***geometric operations*** | ***1-pixel operations*** | ***convolution matrices***
:-------------------------:|:-------------------------:|:-------------------------:
vertical mirroring |greyshades-average |ridgedetection 1 (3x3)
horizontal mirroring |greyshades-max |ridgedetection 2 (3x3)
turn 90 degree |greyshades-min |hard edges (3x3)
turn 180 degree |greyshades-natural |laplace (3x3)
-|invert |sharpening-filter (3x3)
-|change RGB |boxblur (3x3 // divisor 9)
-|percents |gaussianblur 1 (3x3 // divisor 16)
-|leave pixels |gaussianblur 2 (5x5 // divisor 256)
-|main function |unsharp masking (5x5 // divisor -256)
-|-|relief-filter (3x3)
-|-|median-filter (yxy)
-|-|pixelation-filter (yxy)
-|-|main function### GUI
![]()
### Credits:
- Big thanks to @DhyanB (https://github.com/DhyanB) for the gif-decoder \
(workaround for error : "java.lang.ArrayIndexOutOfBoundsException: Index 4096 out of bounds for length 4096")
- Thanks to gluonHq for JavaFX 'Scenebuilder'
- Thanks https://memorynotfound.com/ for the instruction of creating a gif-sequence-writer
- Thanks to Thomas Schaller for the imp-package