对于将来偶然发现此问题的任何人。
这可以通过模板匹配来完成。总而言之(我的理解),模板匹配在一个图像中寻找另一个图像的精确匹配。
这是如何在Python中执行此操作的示例:
import cv2method = cv2.TM_SQDIFF_NORMED# Read the images from the filesmall_image = cv2.imread('small_image.png')large_image = cv2.imread('large_image.jpeg')result = cv2.matchTemplate(small_image, large_image, method)# We want the minimum squared differencemn,_,mnLoc,_ = cv2.minMaxLoc(result)# Draw the rectangle:# Extract the coordinates of our best matchMPx,MPy = mnLoc# Step 2: Get the size of the template. This is the same size as the match.trows,tcols = small_image.shape[:2]# Step 3: Draw the rectangle on large_imagecv2.rectangle(large_image, (MPx,MPy),(MPx+tcols,MPy+trows),(0,0,255),2)# Display the original image with the rectangle around the match.cv2.imshow('output',large_image)# The image is only displayed if we call thiscv2.waitKey(0)


