Various operations for enhancing the images
- Reading the images in grayscale: cv2.IMREAD_GRAYSCALE
- Changing data type: .astype
- Accessing the pixels through indexing
- Reading a video: cv2.VideoCapture()
- Calculating the average and variance of video sequences
- Masking an image
- Defining a function to return an n-bit image
- Using thresholding functions in cv2: cv.THRESH_BINARY, cv.THRESH_BINARY_INV, cv.THRESH_TRUNC, cv.THRESH_TOZERO, cv.THRESH_TOZERO_INV
- Thresholding for segmentation
- Cropping an image by indexing
- Scale transform: cv.resize()
- Understanding interpolation flags in cv.resize(): cv.INTER_NEAREST, cv.INTER_LINEAR, cv.INTER_AREA, cv.INTER_CUBIC
- Using cv.warpAffine() for affine transformations: shear, translation, rotation
- Plotting histogram
- Applying power law transform
- Comparing the effect of exponential and logarithmic functions on contrast
- Padding the input image
- Defining mean, median, Sobel, and laplacian kernels
- Local-based filtering
- Intensity-based filtering
- Combining both methods
- Bit-wise operations (low significant bits contain details while high significant bits contain the generality of the image)
- Using bit-wise XOR operation to detect the difference between some frames which leads to motion detection
- Preserving the intensity boundaries during filtering
- Stretching and clipping
- Spatial information in phase image of Fourier transform
- Identifying noise in the Fourier transformation of the image
- Applying a notch filter
- Getting inverse Fourier transform
- Binarizing the image with a specific threshold
- Opening operation (erosion -> dilation -> erosion)
- Closing operation (dilation -> erosion -> dilation)
- Binarizing the image
- Defining a seed and an ellipse kernel for closing operation
- Defining a function to fill the remaining holes
- Finding the boundaries by subtracting the recent image and its eroded version
- Tuning the thresholds for the canny filter
- Using the mentioned thresholds in the hough transform algorithm
- Asking the user for entering 3 corresponding points in each image
- Giving the points as input to cv.getAffineTransform() which returns the transformation matrix