Skip to content

Latest commit

 

History

History
46 lines (29 loc) · 2.68 KB

File metadata and controls

46 lines (29 loc) · 2.68 KB

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