Skip to content

This repository provides implementation of all the basic image processing algorithms from scratch.

License

Notifications You must be signed in to change notification settings

HarshShah03325/Image_Processing

Repository files navigation

Image_Processing

The following operations have been performed mainly using only Numpy and Pillow library is used just to load and save image.

1. Image Rotation

The image can be rotated by any angle bound or inbound.It involves finding the centre of the Matrix and Shifting along the centre using Rotation Matrix.There are two methods of rotating the image following above approach

  1. Using Pure Rotation Matrix
  2. Using Shearing Rotation

Rotation Matrix

Input Image

Output

No Bound Bound

2. Applying Kernels

Convolution is a simple mathematical operation which is fundamental to many common image processing operators. Convolution provides a way of multiplying together two arrays of numbers, generally of different sizes, but of the same dimensionality, to produce a third array of numbers of the same dimensionality.Kernels form the Second Matrix which provides effects to the Image. figure3

Applying 5X5 filters to do the following task

  1. Blurring
  2. Sharpening
Input Image

Output

Box Filter Gaussian Filter Sharpen

3. Edge Detection

Edge detection is an image processing technique for finding the boundaries of objects within images. It works by detecting discontinuities in brightness.

Applying Edge Detection in following sequence

  1. Vertical edge detection
  2. Horizontal edge detection
  3. Sobel edge detection (right, left, top, bottom)
  4. Canny edge detection
Input Image

Output

Vertical Edge Detection Horizontal Edge Detection
Sobel Edge Detection Canny Edge Detection

4. Morphological Transformation

Morphological transformations are some simple operations based on the image shape. It is normally performed on binary images. It needs two inputs, one is our original image, second one is called structuring element or kernel which decides the nature of operation. Two basic morphological operators are Erosion and Dilation. Applying dilation and erosion transformation to the image

Output

Input-Image Dilation Erosion Edge-Detection

5. Masking

Masking is an image processing method in which we define a small 'image piece' and use it to modify a larger image. Masking is the process that is underneath many types of image processing, including edge detection, motion detection, and noise reduction. To show only blue ball a mask has been applied to the following input image

Input Image Masked Image(output)

Blob detection

About

This repository provides implementation of all the basic image processing algorithms from scratch.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages