ImageProcessing is an easy-to-use F# package that utilizes Brahma.FSharp and SixLabors.ImageSharp. It offers two primary image processing options: CPU and GPU or agent-supported processing, all accessible within the included console application.
- Loading images from a local source and saving them.
- Processing all images within a specified directory.
- Filtering using one of five kernels, including "Gaussian blur" and "edges".
- Other edits such as 90-degree rotation and flipping.
- Combinations of existing transformations in four different scenarios.
- Ability to utilize all of the features solely through the command line.
See more information on GitHub Pages.
Make sure the following requirements are installed on your system:
- dotnet SDK 3.0 or higher (recommended 6.0+),
- Mono if you're on Linux or macOS or
- VSCode Dev Container.
Go to directory with your build.fsproj
(or build.csproj
) file and install ImageProcessing using command line:
dotnet add package ImageProcessing.PolinaSavelyeva --version 1.0.0
For more information visit package main GitHub page.
Before usage, go to specify directory:
cd /path/to/ImageProcessing/src/ImageProcessing
To process images from one directory and save them to another, you can use the following commands.
dotnet run -in /input/path -out /output/path -agent=full -unit=cpu gauss
dotnet run -in /input/path -out /output/path -agent=no -unit=anygpu gauss sharpen
The final result for all types of transformations and filters:
Original | Sharpen |
---|---|
Gauss | Edges |
---|---|
Darken | Lighten |
---|---|
Rotation R | Rotation L |
---|---|
Flip H | Flip V |
---|---|
To find more building and running options take a look at the MiniScaffold template.