GithubHelp home page GithubHelp logo

simonebenitozzi / jpeg-compression Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 20.8 MB

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

License: MIT License

Python 4.90% Jupyter Notebook 88.41% TeX 6.69%
dct dct2 jpeg jpeg-decoder jpeg-encoder jpeg-image jpeg-image-compression

jpeg-compression's Introduction

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 [email protected]. We appreciate your feedback!

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

jpeg-compression's People

Contributors

marioavolio avatar simonebenitozzi avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.