解决 OpenCV 错误: cv2.error: OpenCV(4.8.0) D:/a/opencv-python/opencv-python/opencv/modules/imgproc/src/templmatch.cpp:1164: error: (-215:Assertion failed) (depth == CV_8U || depth == CV_32F) && type == _templ.type() && _img.dims() <= 2 in function 'cv::matchTemplate'
///'cv2.error: OpenCV(4.8.0) D://a//opencv-python//opencv-python//opencv//modules//imgproc//src//templmatch.cpp:1164: error: (-215:Assertion failed) (depth == CV_8U || depth == CV_32F) && type == _templ.type() && _img.dims() <= 2 in function 'cv::matchTemplate'///' 这个错误通常是由于模板图像和输入图像的格式不匹配导致的。请确保模板图像和输入图像的深度相同,并且它们都是8位或32位的。另外,请确保输入图像是二维的,即通道数小于等于2。如果输入图像是多通道的,请尝试将其转换为灰度图像。以下是一个示例代码,演示如何使用matchTemplate函数进行模板匹配:pythonimport cv2# 读取模板图像和输入图像template = cv2.imread('template.jpg', 0)image = cv2.imread('image.jpg')# 确保模板图像和输入图像的深度相同template = cv2.convertScaleAbs(template)image = cv2.convertScaleAbs(image)# 确保输入图像是二维的if len(image.shape) > 2: image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)# 进行模板匹配result = cv2.matchTemplate(image, template, cv2.TM_CCOEFF_NORMED)# 处理匹配结果...在代码中,template.jpg是模板图像的文件名,image.jpg是输入图像的文件名。cv2.TM_CCOEFF_NORMED是模板匹配的方法,你可以根据需要选择其他方法。希望能帮到你!
原文地址: https://www.cveoy.top/t/topic/qAwq 著作权归作者所有。请勿转载和采集!