https://github.com/aymen016/image-processing-algorithms
Explore Python-based image processing from scratch with core algorithms like interpolation, convolution, and filtering!
https://github.com/aymen016/image-processing-algorithms
matplotlib numpy pillow python
Last synced: 18 days ago
JSON representation
Explore Python-based image processing from scratch with core algorithms like interpolation, convolution, and filtering!
- Host: GitHub
- URL: https://github.com/aymen016/image-processing-algorithms
- Owner: Aymen016
- Created: 2024-10-24T13:01:50.000Z (8 months ago)
- Default Branch: main
- Last Pushed: 2024-11-05T16:12:54.000Z (8 months ago)
- Last Synced: 2025-03-30T08:29:19.051Z (3 months ago)
- Topics: matplotlib, numpy, pillow, python
- Language: Jupyter Notebook
- Homepage:
- Size: 982 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Image-Processing-Algorithms
This repository contains Python implementations of basic image processing algorithms developed from scratch without using any external image processing libraries.
## Overview
The following algorithms are implemented:
1. **Nearest Neighbor Interpolation and Resizing** - Resize an image using Nearest Neighbor Interpolation.
2. **Bilinear Interpolation and Resizing** - Resize an image using Bilinear Interpolation.
3. **Convolution** - Apply a convolution operation to an input image with a specified kernel.
4. **Gaussian Filter** - Smooth an input image using a Gaussian filter.## Algorithms Description
### 1. Nearest Neighbor Interpolation
The simplest interpolation technique that selects the closest pixel value to assign to the new pixel in the resized image. It’s fast but results in blocky images.
### 2. Bilinear Interpolation
This technique considers a weighted average of the four nearest pixel values to compute the new pixel value. It produces smoother results compared to nearest neighbor interpolation.
### 3. Convolution
Convolution is an operation that slides a small matrix called a kernel across an image and computes the weighted sum of the overlapping pixel values to produce a filtered image. This is commonly used for feature extraction.
### 4. Gaussian Filter
The Gaussian filter is used for image smoothing by reducing noise and detail. It applies a Gaussian function over the image and uses convolution to blur the image.