Giter VIP home page Giter VIP logo

diegolrs / dct2d-digital-image-processing Goto Github PK

View Code? Open in Web Editor NEW
4.0 1.0 0.0 1.67 MB

Computes the two-dimensional discrete cosine transform (DCT2D) of an image an its inverse, taking the image to the frequency domain.

License: MIT License

Jupyter Notebook 100.00%
colab-notebook dct dct2 image-processing python 2d-dct discret-cosine-transformation frequence-domain ufpb digital-image-processing

dct2d-digital-image-processing's Introduction

DCT2D-Images

This project computes the two-dimensional discrete cosine transform (DCT2D) of an image an its inverse. The DCT2D concept was present to me by Professor Leonardo Vidal Batista, from the Scientific Computer Departament (DCC) at Federal University of Paraiba(UFPB), in the Digital Image Processing class.

About DCT (Discrete Cosine Transform)

A discrete cosine transform (DCT) expresses a finite sequence of data points in terms of a sum of cosine functions oscillating at different frequencies. It is used in most digital media, including digital images (such as JPEG and HEIF), digital video, digital audio, digital television and more.


(Reference: https://www.mathworks.com/help/images/ref/dct2.html)

You can use a DCT1D implementation to create a 2d equivalent version. The DCT2D function allows the user to get the image a image from the color space domain and take it to the frequence domain. When you have a data in the frequence domain, a lot of mathematical function can be used to process the image, like the low-pass butterwoth, for example.

DCT2D Separability Strategy

A way to make a DCT2D implementation using a DCT1D code that already exists is using separability strategy. The separability strategie consist in applying DCT1D on each row of the image. And then, make the same thing again, but using the columns instead of the rows.


DCT1D has an inverse mathematical operation, usually called as IDCT (Inverse DCT). By applying the inverse operation of DCT1D (Inverse DCT1D) on each column and then on each row of the image, you can return the image to the space domain and display it.


Example of output


(Original Image, Image on frequence domain (DCT2D), Image returned to the space domain (IDCT2D), respectively)

Authors

dct2d-digital-image-processing's People

Contributors

diegolrs avatar

Stargazers

 avatar  avatar  avatar  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.