Skip to content

A full workflow of a series of digital image processing tools written from scratch in MATLAB

License

Notifications You must be signed in to change notification settings

arijitnoobstar/MachineVision_ImageProcessing

Repository files navigation

Machine Vision & Image Processing

A series of digital image processing tools created in MATLAB from scratch. image_processing_report contains the full details of the image processing steps and intermediate results. An example of the full image workflow is as shown:

Note that these are the example images used for this project, the text from image 1 is converted to a monochrome image

The following sequential steps are done using classical digital image processing techniques and coded from scratch:

  1. Conduct binary thresholding
  2. Image segmentation using a Union-Find graph algorithm
  3. Rotation of the image using linear, bilinear & bicubic interpolation
  4. Edge detection using various techniques in the spatial domain and spatial frequency domain
  5. Finding a pixel-thin representation of the objects using mathematical morphological techniques

Image rotation is usually done by rotating the image in the reverse direction first and doing an inverse transform

Afterwards a series of interpolation methods can be used to interpolate the binary thresholded values into the new image

For the edge detection, we used spatial frequency domain techniques like Gaussian & Butterworth filtering and in the spatial domain we used convolution-based filtering like Sobel & Prewitt operator filtering and Canny edge detection. The canny edge detection proved to be the most effective.

Additionally, we came up with an innovative way to use erosion via a double-element edge detection method to get the outline as well

Finally a series of erosion techniques with 8 operators (known as the hit-and-miss algorithm) were used to create pixel thin images.

Collaborators

Arijit Dasgupta Chong Yu Quan

About

A full workflow of a series of digital image processing tools written from scratch in MATLAB

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages