A repository on the adventures of Madam Tee Connie's computer vision class using Matlab as her medium of knowledge dissemination.
Here's how to get you started on copying all of the below tutorial codes. Run the below code to clone this repository onto your local computer.
git clone https://github.com/cheewoei1997/computer-vision.git
Once you've cloned, just navigate to the folder that you have cloned and you're all set.
In this repository all tutorials from laboratory 1 through laboratory [pending] will be covered and listed as numbers as such:
-
Assignment 1
For the first assignment, we utilised multiple techniques learned from labs 1 to 8, where we combined techniques such as thresholding, smoothening, and noise reduction. -
Assignment 2
As for this one, we will work with detecting characters and actual silhouttes in videos. It is more like an if-else statement with the trigger for anomalies.
The very basics of Matlab to get you started real quick.
- Simple Scalar Operations simplescalaroperations.m
- Creating a Vector/Matrix createvectormatrix.m
- Indexing indexing.m
- Matrix Operators matrixoperators.m
- for/while Loops loops.m
- Functions vs. Scripts functionsvsscripts.m
- Plotting plotting.m
- Images images.m
Playing with images using pixels, colours, and filters.
- Sampling sampling.m
The play of pixels on an image to resize them. This effect will usually cause the checkerboard effect. - Quantization quantization.m
Manipulation on the number of gray levels on an image to simplify the image. - Resolution resolution.m
The use of filters with values of ones to demonstrate gaussian blurring.
We play with contrast stretching and median filter in this lab.
- Contrast Stretching and Histogram Equalization contraststretchhistoequal.m
Contrast stretching vs. histogram equalization. - Quantization convoandmedianfilter.m
Convolutional filters seem to not be as good as median filters in noise cleanup. - Resolution difference.m
Subtracting the background of an image to obtain the region of interest.
Experimenting with different types of noise and how to handle them.
- Implementing Noise Model addnoise.m
Simulate noise in your image by adding them because who even likes clear images. - Noise Reduction reducenoise.m
Adding noise and removing them from the original image. - Simulating a Motion Blur Effect motionblur.m
Simulate a motion blur then use Wiener filter to deblur the image.
Edge detection algorithms are what's lit here.
- Implementing Edge Detector edgedetectors.m
Edge detecting with Sobel, Prewitt, Roberts, and Canny. - Sobel Edge Detector sobeledgedetector.m
Detecting vertical, horizontal, +45 degree and -45 degree edges with Sobel. - The Laplacian Operator laplacian.m
Using the laplacian operator to sharpen the image by subtracting.
Edge detection algorithms are what's lit here.
- Dilation dilation.m
Apparently, dilating an image means make it thicker. Like how your pupils dilate when you see something cute. - Erosion erosion.m
Erode the image by removing necessary parts of the image. - Combining Dilation and Erosion erodedilate.m
Destroying and reconstructing the image usingerode
anddilate
. - Opening and Closing openclose.m
Opening and closing the image usingopen
andclose
. You're welcome. - Counting the Number of Rice Grains countricegrains.m
Subtracting the background, thresholding the image, then label the objects in the image. - Object Segmentation segmentcells.m
Outlining the image by dilating the image, smoothen the objects, then subtract the object.
Turning them all black and white cuz who likes colours anyway.
- Simple Thresholding simplethresh.m
Automatic thresholding that's done by the computer. - Adaptive Thresholding adaptivethresh.m
Separate the image into blocks and find the threshold for that specific block. - [Incomplete] Incorporating Filter Technique in Thresholding filterthresh.m
Utilise filters on top of thresholding to achieve better results.
Extracting the properties of an image using certain values.
- Creating GLCM from Image and Analyzing its Properties glcm.m
Finding out the GLCM of a cropped area in the specified image.
Telling the difference of an image by subtracting from the very first frame.
- Accumulative Image Difference accumulativeDifference.m
Utilise accumulative image difference to trace whether or not there is an intruder in the video.
- Dr. Tee Connie
- Do Chen Hao
- Sia Chun Wai