{"id":19972774,"url":"https://github.com/as567652/noise-reduction-using-fourier-transform","last_synced_at":"2026-05-09T20:22:32.245Z","repository":{"id":106470877,"uuid":"414695994","full_name":"as567652/Noise-Reduction-Using-Fourier-Transform","owner":"as567652","description":"Implementing Case Specific Noise Reduction using Discrete Fourier Transform (DFT).","archived":false,"fork":false,"pushed_at":"2021-11-22T19:25:49.000Z","size":1369,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-12T09:29:23.851Z","etag":null,"topics":["computer-vision","digital-image-processing","discrete-fourier-transform","matplotlib","opencv","python3"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/as567652.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-10-07T17:24:31.000Z","updated_at":"2021-12-07T15:02:28.000Z","dependencies_parsed_at":null,"dependency_job_id":"43724148-73d7-4373-83ac-16329ba1a7ee","html_url":"https://github.com/as567652/Noise-Reduction-Using-Fourier-Transform","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/as567652%2FNoise-Reduction-Using-Fourier-Transform","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/as567652%2FNoise-Reduction-Using-Fourier-Transform/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/as567652%2FNoise-Reduction-Using-Fourier-Transform/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/as567652%2FNoise-Reduction-Using-Fourier-Transform/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/as567652","download_url":"https://codeload.github.com/as567652/Noise-Reduction-Using-Fourier-Transform/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241405545,"owners_count":19957842,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["computer-vision","digital-image-processing","discrete-fourier-transform","matplotlib","opencv","python3"],"created_at":"2024-11-13T03:09:09.639Z","updated_at":"2026-05-09T20:22:32.214Z","avatar_url":"https://github.com/as567652.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Noise Reduction Using Fourier Transform\nImplementating Case Specific Noise Reduction using Discrete Fourier Transform (DFT).\n\n![](https://img.shields.io/badge/OpenCV-v3.4-%23006cff?style=for-the-badge\u0026logo=opencv)\n![](https://img.shields.io/badge/Python3-v5.4-yellow?style=for-the-badge\u0026logo=python)\n![](https://img.shields.io/badge/Matplotlib-v5.4-%236610f2?style=for-the-badge\u0026logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAB2lBMVEUAAAD///////////////////+xs7Pl6OiHh4eOjo7s7Oz09PScnJympqatra27u7vOzs7BwcHCwsLHx8fn5+e6urvIyMicnJyxsbHX2NnAwMDJycnCwsKxs7O6urq7u7vJycmsrKxIZatUa6Vue2BxbGd0va55i3Z5jsWXcU6Y2pacrpagoKCoqKiq2Kivr6+wdU6wttGxu7Gzvb2z1rK0uaC4sLO5ubm72Lu8t7W8uLe8yLy9vMC9wMHA0YvBwcHCrqXCz7HDw8PEq6DEyczEzaLF3U7Iz9HI2MvI41vLx8XLycjLy8vMuHvMy9DMzMzOs0HO0cnP1dfQgUTQkGvRs6fSjmLSvG/S1dbTwbnT09PUfgDU0MfU0tHV1dXV19jV4NTWuQDWycTW1tbY2N7Z2dnZ2drc3Nzc3d3c3uDdyKbd3d3ekVje3t7e4OXfikTfy4Xf4OHg4eDg4ePhwEHh4ODh4eHjxD/j4+Pk5OTp6+7qkUrq7PLr6+3r7fPs7Ozt7e3u7e7u7u7v7+/v8/byk0Hz8/b08/H1jyb19fX41Ef4+Pj4+Pn5+fn61kP7kh77+Pv7+/v7+/z8/Pz9/f39/v79///+/v7/oFb/o1n/pmX/3mD/3mb///+K1by6AAAAInRSTlMAAChERmKjpaapq62vtL2+vr+/v8fP0N/f4urs7e/w9PT9ASJnrgAAAPZJREFUeNocjgNTBHAcBX+nbNu2zclNtm27iadsXG6/a/9u9N7uaEVEo9E4BkenhTqrI3Z2qJ0axALtrsoo9lhY+ep+NwGvQcpoXO4G+r6PumY7617mbr2UaIGG9c/Ri4qmtg+m9eLEyOZh+XnvTH3ZHuAuYXTctC4W9FTnc22FEMk83f/9edhIjsuOZfXZVinpa5M7/UupifFJMZdDJmuhRLB9fJaQO9GYNf5mhEhxA3a3yCs6GS4GvEU7BsvLTykZlFzVcKATjSezNsylOWaqHpsDVJgm8P6/2gz8zVsW4hmRdKAA0HMVojDvsggrOJkrCLGC+AA9MlD6ac5sNAAAAABJRU5ErkJggg==)\n\n![](https://img.shields.io/badge/Digital\u0026nbsp;Image\u0026nbsp;Processing-Noise\u0026nbsp;Reduction\u0026nbsp;Using\u0026nbsp;DFT-green?style=for-the-badge)\n![](https://img.shields.io/badge/Digital\u0026nbsp;Image\u0026nbsp;Processing-Computer\u0026nbsp;Vision-green?style=for-the-badge)\n\n\n## Table of contents\n* [Introduction](#introduction)\n* [Approach](#approach)\n* [Technologies](#technologies)\n* [Setup](#setup)\n* [Launch](#launch)\n* [Illustrations](#illustrations)\n* [Status](#status)\n* [Sources](#sources)\n* [Other](#other)\n\n\n## Introduction\nGeneral method to remove Periodic Noise is by using different type of filters. This technique is generally called **Periodoc Noise Reduction by Frequency Domain Filtering**. Different filters that can be used to remove periodic noise are \n- Bandreject Filter \n- Bandpass Filter\n- Notch Filter and many more.\nIf Noise is periodic, we can simply use any of the above filters to minimize noise content in the image.\nIf noise is not periodic than manually we need to remove noise. Important note here is that first we have to change Spatial Domain into frequency Domain, to apply filter.\n\n\n## Approach\n- To change spatial domain into frequency domain first we apply **Discrete Fourier Transform (DFT)** on the image.\n- Now we are able to see spectrum of the image.\n- We can see that there is not a pattern here that we can follow to remove noise.\n- We just create a mask of spectrum image in such a way that central light burst is there. Others are blacked out.\n- We adjust radius of central burst that is needed to be left out.\n- We than multiply mask and DFT (Discrete Fourier Transform)\n- We apply **IDFT (Inverse Discrete Fourier Transform)** to obtain modified Image\n\n\n## Technologies\n  #### Software Used :\n  * VS Code : 1.58.2\n  #### Languages Used :\n  * Python 3\n  #### OS used :\n  * Ubuntu 20.04.3 LTS 64-bit\n\n\n## Setup\nFirst you must have these libraries and languages installed on your system -\n  * [Python 3](https://www.python.org/)\n  * [OpenCV](https://opencv.org/)\n\n\n## Launch\nTo run the code, run this commands in terminal with main.py as in current directory and images in Images folder along with main.py\n```\n$ python3 main.py\n```\nWindows will pop-up with resultant images. (Press **X** to view next image).\n\n\n## Illustrations\n### Step By Step Image Transformation For Noise Reduction\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"ReadMe_Images/Original_Image.png\" width=48% title=\"Original Image\"\u003e\n  \u003cimg src=\"ReadMe_Images/Spectrum.png\" width=48% title=\"Spectrum Of Original Image\"\u003e\n\u003c/p\u003e\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"ReadMe_Images/Mask.png\" width=48% title=\"Mask\"\u003e\n  \u003cimg src=\"ReadMe_Images/Modified_Image.png\" width=48% title=\"Modified Image\"\u003e\n\u003c/p\u003e\n\n\n## Project status\n  ***Completed***\n\n\n## Sources\n  * Images used in this project may be subject to copyright.\n  * [Digital Image Processing (Third Edition) by Rafael C. Gonzalez and Richard E. Woods](https://www.amazon.com/Digital-Image-Processing-Rafael-Gonzalez/dp/013168728X)\n  * [OpenCV Documentation](https://docs.opencv.org/2.4/opencv_tutorials.pdf)\n  \n  \n## Other\n  This code was contributed by Abhinav Sharma.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fas567652%2Fnoise-reduction-using-fourier-transform","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fas567652%2Fnoise-reduction-using-fourier-transform","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fas567652%2Fnoise-reduction-using-fourier-transform/lists"}