Let's jump to our code in Jupyter Notebook, in order to understand plate utility functions. We will first embed the imports with our utilities.
We will be importing the following libraries:
- OpenCV (version 3.4)
- NumPy
- Pickle, which lets us save Python data and case functions
Import the libraries as follows:
import cv2
import numpy as np
import pickle
def gray_thresh_img(input_image):
h, w, _ = input_image.shape
grayimg = cv2.cvtColor(input_image, cv2.COLOR_BGR2HSV)[:,:,2]
kernel = cv2.getStructuringElement(cv2.MORPH_RECT, (3, 3))
tophat = cv2.morphologyEx(grayimg, cv2.MORPH_TOPHAT, kernel)
blackhat = cv2.morphologyEx(grayimg, cv2.MORPH_BLACKHAT, kernel)
graytop = cv2.add(grayimg, tophat)
contrastgray = cv2.subtract(graytop, blackhat)
blurred = cv2.GaussianBlur(contrastgray, (5,5), 0)
thesholded = cv2.adaptiveThreshold...