In this OpenCV Tutorial, you’ll learn how to perform template matching in OpenCV Python. I highly recommend you get the “Computer Vision: Models, Learning, and Inference Book” to learn computer vision. We will use the following two images for template matching.


# Import the required libraries
import cv2
import numpy as np
# Read an image
img = cv2.imread("C:\\aihints\\cartoon.jpg")
# Read template image
img_2 = cv2.imread("C:\\aihints\\part.jpg")
# Get width and height of template image
width, height = img_2.shape[:-1]
# Template matching
tm = cv2.matchTemplate(img, img_2, cv2.TM_CCOEFF_NORMED)
# Set a Threshold
threshold = 0.8
# Store the coordinates of matched area in a numpy array
area = np.where(tm >= threshold)
# Draw a rectangle around the matched region.
for i in zip(*area[::-1]):
cv2.rectangle(img, i, (i[0] + width, i[1] + height), (255, 0, 0), 1)
# Display the template matching image
cv2.imshow('Template Matching', img)
# Save the template matching image
cv2.imwrite('C:\\AiHints\\template_matching.jpg', img)
# Wait until any key is pressed
cv2.waitKey(0)
# Close all the windows
cv2.destroyAllWindows()Output:



