This repository contains a software project aimed at exploring the results achieved in grayscale image compression using the Bidimensional Discrete Cosine Transform (DCT).
The project consists of two main parts.
In the first part, we compare the execution time results between the implementation of DCT-2 using an Open Source library and a custom implementation from scratch. The goal is to evaluate the performance differences and understand the trade-offs of each approach.
The second part of the project involves the implementation of a user-friendly graphical interface that allows users to compress an image using customizable parameters. The GUI provides an intuitive way for users to interact with the compression algorithm and observe the resulting output.
The project is developed using Python programming language. Specifically, we have chosen to utilize the dctn
library for performing the DCT computations. Python was selected due to its simplicity, extensive libraries, and wide community support.
The repository is organized as follows:
src/
: Contains the source code files for the DCT implementations and the GUI.data/
: Contains sample images used for testing and demonstration purposes.docs/
: Documentation related to the project, including research papers, reference materials, and any additional resources.tests/
: Unit tests to ensure the correctness and functionality of the implemented algorithms.README.md
: This file, providing an overview of the project and instructions for setup and usage.LICENSE
: The license information for the project.
To get started with the project, please follow these steps:
-
Clone the repository to your local machine using the following command:
git clone https://github.com/your-username/dct-image-compression.git
-
Install the necessary dependencies. You can use the following command to install the required libraries:
pip install -r requirements.txt
-
Run the project by executing the main script. This will launch the graphical user interface:
python src/main.py
We welcome contributions to this project. If you would like to contribute, please follow these steps:
- Fork the repository on GitHub.
- Create a new branch for your feature or bug fix.
- Implement your changes and ensure that the code passes all tests.
- Commit and push your changes to your forked repository.
- Submit a pull request, clearly describing the changes you have made.
This project is licensed under the MIT License. Feel free to use, modify, and distribute the code as permitted by the license.
If you have any questions, suggestions, or concerns regarding the project, please feel free to contact us at [email protected]. We appreciate your feedback!
Enjoy exploring the world of DCT image compression with our project!