Skip to content

A small image processor containing so far an image binarization module.

Notifications You must be signed in to change notification settings

PirvuCatalin/image-processor

Repository files navigation

ImageProcessor

The ImageProcessor is a small project for my 3rd year course "Web Applications using Java" of the Faculty of Automatic Control and Computer Science, Politehnica University of Bucharest.

This is meant to teach us concepts of OOP, that's why you can see the extra-abstractization of classes.

This application transforms an input 24bit RGB BMP image file from grayscale to binary.

Under the folder /out, the .class files, the .jar and javadoc will be kept updated for the ease of use. Of course they can also be manually generated with the sources.

This will require JRE >= 8.

To test this, you can use the images under /test folder (they also contain invalid images, for the sake of testing) and follow the steps:

1. Clone this repository
2. Open a terminal (MacOS / Linux) or a CMD
3. Navigate to /out/artifacts/ImageProcessor_jar
4. Execute: java -jar ImageProcessor.jar -P "../../test"

You can also use the classes files, just navigate to /out/production/ImageProcessor 
and execute java com.cpirvu.ImageProcessor -P "../../test".

For the input arguments, you can use the following:

    - -P <path>, the path to the image file or directory of image files
    - [-M <num>], instructs the application to use up to num (<256) threads if the file is a directory. Default is 5
    - [-T <threshold>], change the static threshold used in binarization algorithm (0-255). Default is 127
    - [-F], "force" meaning to first convert the 24bit BMP to grayscale if needed

For more details regarding the usage, you can use java -jar ImageProcessor.jar help.

A list of other nice-to-have modules can be found at the end of AWJ_Homework file.

Releases

No releases published

Packages

No packages published