模板识别和颜色识别能串起来一起用吗
-
另外想问一下,模板识别想识别0到9,但是它会报错,说是请降低像素,减少在运行的数量,降低像素还是不能解决。最后减少了3个数字它才能正常的运行,这怎么解决?
-
请发具体的代码,与报错提示。
-
import time, sensor, image
from image import SEARCH_EX, SEARCH_DSReset sensor
sensor.reset()
Set sensor settings
sensor.set_contrast(1)
sensor.set_gainceiling(16)Max resolution for template matching with SEARCH_EX is QQVGA
sensor.set_framesize(sensor.QQVGA)
You can set windowing to reduce the search image.
#sensor.set_windowing(((640-80)//2, (480-60)//2, 80, 60))
sensor.set_pixformat(sensor.GRAYSCALE)Load template.
Template should be a small (eg. 32x32 pixels) grayscale image.
template0 = image.Image("/0.pgm")
template1 = image.Image("/1.pgm")
template2 = image.Image("/2.pgm")
template3 = image.Image("/3.pgm")
template4 = image.Image("/4.pgm")
template5 = image.Image("/5.pgm")
template6 = image.Image("/6.pgm")
template7 = image.Image("/7.pgm")
template8 = image.Image("/8.pgm")
template9 = image.Image("/9.pgm")clock = time.clock()
Run template matching
while (True):
clock.tick()
img = sensor.snapshot()# find_template(template, threshold, [roi, step, search]) # ROI: The region of interest tuple (x, y, w, h). # Step: The loop step used (y+=step, x+=step) use a bigger step to make it faster. # Search is either image.SEARCH_EX for exhaustive search or image.SEARCH_DS for diamond search # # Note1: ROI has to be smaller than the image and bigger than the template. # Note2: In diamond search, step and ROI are both ignored. r0 = img.find_template(0, 0.70, step=4, search=SEARCH_EX) if r0: print('0') r1 = img.find_template(1, 0.70, step=4, search=SEARCH_EX) if r1: print('1') r2 = img.find_template(2, 0.70, step=4, search=SEARCH_EX) if r2: print('2') r3 = img.find_template(3, 0.70, step=4, search=SEARCH_EX) if r3: print('3') r4 = img.find_template(4, 0.70, step=4, search=SEARCH_EX) if r4: print('4') r5 = img.find_template(5, 0.70, step=4, search=SEARCH_EX) if r5: print('5') r6 = img.find_template(6, 0.70, step=4, search=SEARCH_EX) if r6: print('6') r7 = img.find_template(7, 0.70, step=4, search=SEARCH_EX) if r7: print('7') r8 = img.find_template(8, 0.70, step=4, search=SEARCH_EX) if r8: print('8') r9 = img.find_template(9, 0.70, step=4, search=SEARCH_EX) if r9: print('9')
-
import time, sensor, image
from image import SEARCH_EX, SEARCH_DSReset sensor
sensor.reset()
Set sensor settings
sensor.set_contrast(1)
sensor.set_gainceiling(16)Max resolution for template matching with SEARCH_EX is QQVGA
sensor.set_framesize(sensor.QQVGA)
You can set windowing to reduce the search image.
#sensor.set_windowing(((640-80)//2, (480-60)//2, 80, 60))
sensor.set_pixformat(sensor.GRAYSCALE)Load template.
Template should be a small (eg. 32x32 pixels) grayscale image.
template0 = image.Image("/0.pgm")
template1 = image.Image("/1.pgm")
template2 = image.Image("/2.pgm")
template3 = image.Image("/3.pgm")
template4 = image.Image("/4.pgm")
template5 = image.Image("/5.pgm")
template6 = image.Image("/6.pgm")
template7 = image.Image("/7.pgm")
template8 = image.Image("/8.pgm")
template9 = image.Image("/9.pgm")clock = time.clock()
Run template matching
while (True):
clock.tick()
img = sensor.snapshot()# find_template(template, threshold, [roi, step, search]) # ROI: The region of interest tuple (x, y, w, h). # Step: The loop step used (y+=step, x+=step) use a bigger step to make it faster. # Search is either image.SEARCH_EX for exhaustive search or image.SEARCH_DS for diamond search # # Note1: ROI has to be smaller than the image and bigger than the template. # Note2: In diamond search, step and ROI are both ignored. r0 = img.find_template(template0, 0.70, step=4, search=SEARCH_EX) if r0: print('0') r1 = img.find_template(template1, 0.70, step=4, search=SEARCH_EX) if r1: print('1') r2 = img.find_template(template2, 0.70, step=4, search=SEARCH_EX) if r2: print('2') r3 = img.find_template(template3, 0.70, step=4, search=SEARCH_EX) if r3: print('3') r4 = img.find_template(template4, 0.70, step=4, search=SEARCH_EX) if r4: print('4') r5 = img.find_template(template5, 0.70, step=4, search=SEARCH_EX) if r5: print('5') r6 = img.find_template(template6, 0.70, step=4, search=SEARCH_EX) if r6: print('6') r7 = img.find_template(template7, 0.70, step=4, search=SEARCH_EX) if r7: print('7') r8 = img.find_template(template8, 0.70, step=4, search=SEARCH_EX) if r8: print('8') r9 = img.find_template(template9, 0.70, step=4, search=SEARCH_EX) if r9: print('9')