模板匹配的find_template()函数多次调用会报错问题?
-
import time, sensor, image from image import SEARCH_EX, SEARCH_DS #从imgae模块引入SEARCH_EX和SEARCH_DS。使用from import仅仅引入SEARCH_EX, #SEARCH_DS两个需要的部分,而不把image模块全部引入。 sensor.reset() #相机初始化 sensor.set_contrast(1) #设置相机对比度 sensor.set_framesize(sensor.FHD) #设置相机分辨率 #sensor.set_windowing(((640-80)//2, (480-60)//2, 80, 60)) #设置视窗分辨率 sensor.set_pixformat(sensor.GRAYSCALE) #设置灰度模式 sensor.set_auto_gain(False) #关闭相机自动增益 sensor.set_auto_whitebal(False) #关闭相机自动白平衡 sensor.set_auto_exposure(False, \ exposure_us = 80000) #设置曝光时间 # Load template. # Template should be a small (eg. 32x32 pixels) grayscale image. template = image.Image("/L.pgm") #加载模板图片 while (True): img = sensor.snapshot() #相机采图 img.lens_corr(1.8) #相机畸变矫正 img.draw_rectangle((0,540,960,540), color=(0,255,0)) # find_template(template, threshold, [roi, step, search]) r1 = img.find_template(template, 0.70, roi=(0,540,960,540), step=4, search=SEARCH_EX) if r1: img.draw_rectangle(r1,color=(255,0,0)) print(r1[0]+r1[2]/2, r1[1]+r1[3]/2) r2 = img.find_template(template, 0.70, roi=(960,540,960.540), step=4, search=SEARCH_EX) if r2: img.draw_rectangle(r2,color=(255,0,0)) print(r2[0]+r2[2]/2, r2[1]+r2[3]/2) r3 = img.find_template(template, 0.70, roi=(960,0,960.540), step=4, search=SEARCH_EX) if r3: img.draw_rectangle(r3) print(r3[0]+r3[2]/2, r3[1]+r3[3]/2)
运行会出现报错问题,定位在了第二次调用find_template()函数位置。尝试了三个find_template()单独调用运行,单独运行第一个正常,第二、三个会报错。
请问有没有同样问题已经解决的分享一下解决办法。
-
你把逗号写成小数点了。