Skip to content

Latest commit

 

History

History
283 lines (207 loc) · 10.7 KB

README.md

File metadata and controls

283 lines (207 loc) · 10.7 KB

Contributors Forks Stargazers Issues MIT License LinkedIn


Logo

Compress-Jpeg

An awesome README template to jumpstart your projects!
Explore the docs »

View Demo · Report Bug · Request Feature

Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage
  4. Roadmap
  5. Contributing
  6. License
  7. Contact
  8. Acknowledgments

About The Project

Product Name Screen Shot

Our project focuses on the implementation of various image compression techniques, with a primary emphasis on the JPEG compression algorithm. The key objectives and features of the project are outlined below:

JPEG Algorithm Visualization:

  • Display the step-by-step execution of the JPEG image compression algorithm.
  • Highlight the following stages: Color space conversion, DCT coefficients before and after quantization, visual representation of DCT coefficients in 3D, selection of - quantization matrices, and evaluation metrics post-compression.

JPEG Image Compression:

  • Implement JPEG image compression for both color and grayscale images.
  • Provide the flexibility to choose from a range of quantization matrices (Q10-Q100).

DCT-based Denoising Algorithm:

  • Develop a denoising algorithm based on Discrete Cosine Transform (DCT).
  • Incorporate threshold selection for color and grayscale images.
  • For color images, introduce the use of Gaussian Important Map to accelerate denoising.
  • Support various noise types such as salt-and-pepper, speckle, and Poisson noise.
  • Allow users to adjust thresholds and sliding steps for observation and analysis.

DCT with Median Filter for Grayscale Image Denoising:

  • Implement a DCT-based denoising algorithm combined with a median filter.
  • Aim to reduce periodic noise in grayscale images.

Through this project, users will gain insights into the inner workings of the JPEG compression algorithm and explore advanced techniques for image denoising. The flexibility provided in parameter selection allows for experimentation and observation of the impact on image quality and compression efficiency.

(back to top)

Built With

This section have list any major frameworks/libraries used in this project.

  • Python
  • Streamlit

(back to top)

Getting Started

Prerequisites

Installation

  1. Clone the Git repository: Open your terminal and run the following command to clone the repository.

    git clone https://github.com/dn-duongnam/compress-jpeg.git
  2. Navigate to the project directory:

    cd compress-jpeg
  3. Install Python requirements: Ensure you have Python and pip installed. Then, run the following command to install the required Python packages.

    pip install -r requirements.txt
  4. Run the Streamlit app: Execute the following command to run the Streamlit app.

    streamlit run app.py

    Or

    python -m streamlit run app.py

This will start the development server, and you can access the Streamlit app by opening your browser and navigating to the provided URL (usually http://localhost:8501).

(back to top)

Usage

Welcome to the Image Processing website! Below is a detailed guide to help you make the most of the features on the platform.

Step 1: Upload Image

  • Access the Image Processing website at Link to Your Website.
  • You will see a simple interface with the "Upload Image" button. Click on this button to select and upload the image you want to process.

Step 2: Adjust Parameters

  • Once the image is successfully uploaded, you will see parameter adjustment options displayed on the interface.
  • Options may include choosing a quantization matrix, setting thresholds for the denoising algorithm, and other - parameters depending on the specific features of the website.

Step 3: Process Image

  • After adjusting the parameters to your liking, click on the "Process Image" or a similar button.
  • The website will proceed to process the image based on the parameters you have selected.

Step 4: Observe Results

  • The processed image results will be displayed once the operation is complete.
  • You can compare the original and processed images to evaluate the performance of the chosen parameter adjustments.

Note:

  • Processing times may vary depending on the size of the image and the complexity of the selected parameters.

Enjoy your experience on our Image Processing website! If you have any questions or feedback, feel free to contact us for assistance.

(back to top)

Roadmap

  • JPEG Compression Step
  • JPEG for color image, gray image
  • DCT Denoising using Threshold
  • DCT Denoising using Median Filter
  • Mean/Gaussian Important Map for denoising
  • Unlimit Height/Width of an image (Now is 512x512)
  • Speedup the program

See the open issues for a full list of proposed features (and known issues).

(back to top)

Contributing

My team:

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

(back to top)

License

Distributed under the MIT License. See LICENSE.txt for more information.

(back to top)

Contact

Lã Đức Nam - [email protected]

Project Link: https://github.com/dn-duongnam/compress-jpeg

(back to top)

Acknowledgments

Use this space to list resources you find helpful and would like to give credit to. I've included a few of my favorites to kick things off!

(back to top)