My Web Journal On
Digital Image and Video Processing
- Lakshman Kumar
Explore

WEEKLY UPDATES


  • I

    Week 1

    02/08/2017

    The effects of various levels of sampling and quantization on an image were observed. Mean squared error was computed to measure quality of the processed image with respect to original image.


  • II

    Week 2

    02/15/2017

    Images were subjected to point operations in order to enhance it. Also, the histogram of images were computed, analyzed and equalized in-order to improve the contrast of the image.


  • III

    Week 3

    02/22/2017

    Various spatial filters were applied to the images and the results were analyzed. The images were sharpened in order to enhance the edges.


  • IV

    Week 4

    03/01/2017

    A modified version of Gaussian filter called Bilateral filter was implemented and the results were compared with Gaussian Filters. Morphological filters like erosion and dilation were applied to the images and tested.


  • V

    Week 5

    03/08/2017

    Canny edge detection was implemented and the results were compared with Sobel edge detection. Images were analyzed and filtered based on the noise present in the image.


  • VI

    Week 6

    03/15/2017

    Deconvolution was performed using inverse, pseudo-inverse and wiener filters. The filters were tested on images with gaussian blur, motion blur and additive gaussian noise.


  • VII

    Week 7

    03/29/2017

    Run length encoding and Huffman encoding were implemented on a given dataset and the resulting compression effects were observed and analyzed


  • VIII

    Week 8

    04/05/2017

    Block Based Discrete Cosine Transforms were used to analyze images for use in compression. Blurred Images were partially restored using pseudo inverse filters.


  • IX

    Week 9

    04/26/2017

    Adaptive Thresholding was implemented and the results were compared with Global Thresholding. Corner features in an image were extracted using Harris Corner Detection method.


  • X

    Week 10

    05/10/2017

    Block Matching algorithm was implemented to estimate the motion between consecutive frames and compensate the motion in-order to compress the images. Various images were tested with different block sizes and search window sizes.

  • Next Update
    On
    05/16/17

Experiments

Here are some experiments done based on weekly lectures using OpenCV

Week 1

Sampling, Quantization and Mean Squared Error

Week 2

Point Operations and Histogram Equalization

Week 3

Spatial Filters and Sharpening

Week 4

Bilateral and Morphological Filters

Week 5

Canny Edge Detection and Noise Removal

Week 6

Inverse, Pseudo-Inverse and Wiener Filters

Week 7

Compression

Week 8

Discrete Cosine Transforms

Week 9

Harris Corner Detection and Adaptive Thresholding

Week 10

Block Matching

WEEK 1

To view the implementation,  Click here

WEEK 2

To view the implementation,  Click here

WEEK 3

To view the implementation,  Click here

WEEK 4

To view the implementation,  Click here

WEEK 5

To view the implementation,  Click here

WEEK 6

To view the implementation,  Click here

WEEK 7

To view the implementation,  Click here

WEEK 8

To view the implementation,  Click here

WEEK 9

To view the implementation,  Click here

WEEK 10

To view the implementation,  Click here

PROJECT

To view the implementation,  Click here

Mobile Document Scanner


  • I

    Image Enhancement

    04/12/2017

    The image is initially sharpened in order to boost its edges. Then bilateral filter was used to smoothen the input image while not distorting the edges.


  • II

    Canny Edge Detection

    04/15/2017

    Edges are extracted from the enhanced image using Canny Edge Detection method.


  • III

    Morphological Operations

    04/17/2017

    The edges might have some discontinuities and in-order to rectify that erosion and dilation operations are used for opening and closing (filling) the holes / discontinuities in the edges.


  • IV

    Contour Detection

    04/19/2017

    The enhanced image from the previous step contains a lot of contours. The contours from this image are extracted using OpenCV's 'findContour' function. The largest contour with 4 vertices will contain the document that has to be scanned and this contour is made the reference.


  • V

    Corner Detection

    04/22/2017

    The 4 corners of the reference contour are extracted using Harris's Corner Detection mthod


  • VI

    Perspective Transform and Warping

    04/24/2017

    The four corners are ordered in the clockwise manner. The width and height of the contour are approximated based on the location of these corners and then a reference rectangle is constructed based on this. The perspective transform between the corners of the contour and the corners of the reference rectangle is computed. Then the pixels inside the contour are warped to the reference rectangle using the perspective transform computed previously. This warped image is made the reference image for image registration purposes.


  • VII

    Adaptive Thresholding

    04/26/2017

    In order to enhance the warped image and make it suitable for printing purposes, the warped image is thresholded adaptively using the Gaussian Minus C method resulting in a Binary image.


  • VIII

    Image Alignment

    05/05/2017

    To extract content from the filled version of the reference document, features are detected in both the reference document and the filled document. In this project, ORB features have been used in order to do that, as ORB is an efficient alternative to SIFT. The matching features in both the documents are computed using k-NN and further filtered to get more robust features. In order to align the filled document with the reference document, 4 matching features are required to compute the perspective transform linking both the documents. These 4 features are extracted by doing RANSAC, which will give the best combination of 4 features that minimizes the alignment error. Using the resulting perspective transform , the filled document is warped and aligned with the reference document.


  • IX

    Background Subtraction

    05/09/2017

    Background Subtraction is required to extract the content from the filled document. This is done by using the adaptively thresholded versions of the reference document and the aligned document, and then using combinational logic to get the foreground.


  • X

    Foreground Addition

    05/13/2017

    Based on the filtered version of the extracted foreground, pixels in the scanned image are overlaid on top of the reference document.

  • Project
    Complete

ABOUT ME

I am a second year master's degree student in Robotics, at University of Maryland, College Park (UMD) , specializing in Vision based Control of Autonomous Vehicles. I will be graduating in May 2017. I look forward to work at the intersection of Robotics, Computer Vision and Machine Learning.

Lakshman Kumar K N

Roboticist