Image processing application, based on Plug-In architecture. The basic functionality includes drawing simple figures with the indicated color and line size. There is implemented possibility of undoing changes and restoring them. It is possible to load an image from a file.
There are four example plugins implemented which are dynamically loading by reflection at the beginning of program.
- Grey scale - turning color image into grey scale.
- Blur - bluring image.
- Equalize - filter which makes image look better.
- Face detection - detects faces on image.
You need maven nd JDK 8.
To clone repository use following command:
git clone https://github.com/wookieJ/image-editor.git
To build and install project use following command:
mvn clean install compile
To add your own plugin, you need to create a project with image-processing.jar as its library. You can find it in target directory. Main class should extends Plugin abstract class and override it's methods. You should also add config.cfg file to resource. Example config.cfg file below:
Name "Face Detection"
Main pl.put.FaceDetectionFilterPlugin
Main property indicates main class path
- JavaFX - It extends the capabilities of java to build environments with an attractive graphic layout.
- Groovy - Powerful, optionally typed and dynamic language, used to write unit tests here.
- Spock - Groovy testing framework.
- OpenCV - Used in every image transformation.
This project is licensed under the MIT License - see the LICENSE file for details