PhotoLab v1.0 is an open-source image processing application developed in C++17, using the Model-View-Controller pattern and a GUI library with API for C++17. The program provides a pool of ready-made filters, including conversion to grayscale, negative, and toning, as well as the ability to apply convolution filters such as emboss, sharpen, box blur, Gaussian blur, Laplacian filter, and Prewitt filter or Sobel filter. Additionally, the program allows the user to enter an arbitrary filter kernel matrix (up to size 16x16) by hand through a separate dialog window.
PhotoLab v1.0 uses the following dependencies:
- CMake 3.15 or higher
- Qt5 (Widgets module)
- GTest (for unit tests)
To build PhotoLab v1.0, please follow these steps:
- Clone this repository to your local machine.
- In the terminal, navigate to the project's root directory.
- Run the following command to build the project:
make all
To rebuild the project, run make rebuild
. To clean the project, run make clean
.
To use PhotoLab v1.0, please follow these steps:
- Open the program by running the executable.
- Load an arbitrary image in BMP format using the "Load Image" button.
- Apply a filter from the pool of ready-made filters or enter an arbitrary filter kernel matrix using the appropriate buttons.
- Save the result of filtering into a separate file (BMP format) using the "Save Image" button.
To apply the "Negative" filter to an image, follow these steps:
- Load an image using the "Load Image" button.
- Click on the "Negative" button.
- Save the result using the "Save Image" button.
To apply the "Gaussian blur" filter to an image with a 3x3 kernel, follow these steps:
- Load an image using the "Load Image" button.
- Enter the filter kernel matrix in the appropriate dialog window.
- Click on the "Gaussian blur" button.
- Save the result using the "Save Image" button.
Grayscale | Negative | ||
Picking tone | Toning | ||
Emboss | Sharpen | ||
Box blur | Gaussian blur | ||
Laplacian filter | Sobel left | ||
Sobel right | Sobel full | ||
Custom widget | Custom filter |
PhotoLab v1.0 is licensed under the MIT License. See the LICENSE file for more information.