Python 如何修复函数';cv::matchTemplate';
我想将验证码字符作为一个字符串读取 这是我想阅读的图像示例: ! 我正在使用的代码:Python 如何修复函数';cv::matchTemplate';,python,numpy,image-processing,captcha,cv2,Python,Numpy,Image Processing,Captcha,Cv2,我想将验证码字符作为一个字符串读取 这是我想阅读的图像示例: ! 我正在使用的代码: match = cv2.matchTemplate(img_symbol, image, cv2.TM_CCOEFF_NORMED) if len(match): _, quality, _, location = cv2.minMaxLoc(match) if quality > 0.8: result.append({'x': l
match = cv2.matchTemplate(img_symbol, image, cv2.TM_CCOEFF_NORMED)
if len(match):
_, quality, _, location = cv2.minMaxLoc(match)
if quality > 0.8:
result.append({'x': location[0], 'symbol': ntpath.basename(symbol).replace('.png', '')})
result = sorted(result, key=lambda k: k['x'])
return ''.join([x['symbol'] for x in result])
我有以下错误:
错误回溯(最近一次呼叫上次) 在里面 37 38对于图像中的img: --->39打印(“{}->{}.”格式(img,guess_captcha(img))) 在guess_验证码中(图像) 27 img_symbol=cv2.imread(符号) 28 --->29 match=cv2.matchTemplate(img_符号、图像、cv2.TM_cceff_规范) 30如果len(匹配): 31 u,质量,位置=cv2.minMaxLoc(匹配)
错误:OpenCV(4.1.2)…\modules\imgproc\src\templammatch.cpp:1104:错误:(-215:断言失败)(深度==CV|8U||深度==CV|32F)&&type==模板.type()&&&img.dims()OpenCV的错误消息可能有点神秘。以下是错误消息每个部分的含义:
:函数需要8位单通道图像(每像素一个uint8值,例如灰度,但不是每像素有3个值的RGB)depth==CV_8U
:函数需要32位单通道图像(每个像素一个浮点值)depth==CV_32F
:两个输入图像必须具有相同的类型(CV\u 8U或CV\u 32F)type==\u temp.type()
\u img.dims()OpenCV的错误消息可能有点神秘。以下是错误消息每个部分的含义:
:函数需要8位单通道图像(每像素一个uint8值,例如灰度,但不是每像素有3个值的RGB)depth==CV_8U
:函数需要32位单通道图像(每个像素一个浮点值)depth==CV_32F
:两个输入图像必须具有相同的类型(CV\u 8U或CV\u 32F)type==\u temp.type()
\u img.dims()