Skip to content

simonebenitozzi/jpeg-compression

Repository files navigation

DCT Image Compression Project

This repository contains a software project aimed at exploring the results achieved in grayscale image compression using the Bidimensional Discrete Cosine Transform (DCT).

Project Overview

The project consists of two main parts.

Part 1: DCT-2 Implementation Comparison

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.

Part 2: Graphical User Interface (GUI) Implementation

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.

Programming Environment

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.

Project Structure

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.

Getting Started

To get started with the project, please follow these steps:

  1. Clone the repository to your local machine using the following command:

    git clone https://github.com/your-username/dct-image-compression.git
    
  2. Install the necessary dependencies. You can use the following command to install the required libraries:

    pip install -r requirements.txt
    
  3. Run the project by executing the main script. This will launch the graphical user interface:

    python src/main.py
    

Contributing

We welcome contributions to this project. If you would like to contribute, please follow these steps:

  1. Fork the repository on GitHub.
  2. Create a new branch for your feature or bug fix.
  3. Implement your changes and ensure that the code passes all tests.
  4. Commit and push your changes to your forked repository.
  5. Submit a pull request, clearly describing the changes you have made.

License

This project is licensed under the MIT License. Feel free to use, modify, and distribute the code as permitted by the license.

Contact

If you have any questions, suggestions, or concerns regarding the project, please feel free to contact us at inbox@simonebenitozzi.com. We appreciate your feedback!

Enjoy exploring the world of DCT image compression with our project!

About

Grayscale image compression using the Bidimensional Discrete Cosine Transform (DCT)

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published