将模板匹配历程中的灰度改成彩色,会报错,如何修改
-
Template Matching Example - Normalized Cross Correlation (NCC)
This example shows off how to use the NCC feature of your OpenMV Cam to match
image patches to parts of an image... expect for extremely controlled environments
NCC is not all to useful.
WARNING: NCC supports needs to be reworked! As of right now this feature needs
a lot of work to be made into somethin useful. This script will remain to show
that the functionality exists, but, in its current state is inadequate.
import time
import sensor
import image
from image import SEARCH_EXfrom image import SEARCH_DS
Reset 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)#分辨率大小,最大支持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.RGB565)#灰度
Load template.
Template should be a small (eg. 32x32 pixels) grayscale image.
#template1 = image.Image("/1.pgm")#模板图片pgm格式
template4 = image.Image("/4.pgm")#模板图片pgm格式
template5 = image.Image("/5.pgm")#模板图片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. """ r1 = img.find_template(#调用模板匹配函数 template1, 0.70, step=4, search=SEARCH_EX ) # , roi=(10, 0, 60, 60))#template图片,0.7匹配阈值,roi设置了是在规定区域寻找图像,不设置了默认整个区域寻找 if r1:#如果找到模板图片 img.draw_rectangle(r1,color=(0,0,0)) """ r4 = img.find_template(#调用模板匹配函数 template4, 0.70, step=4, search=SEARCH_EX ) # , roi=(10, 0, 60, 60))#template图片,0.7匹配阈值,roi设置了是在规定区域寻找图像,不设置了默认整个区域寻找 if r4:#如果找到模板图片 img.draw_rectangle(r4,color=(255,0,0)) r5 = img.find_template(#调用模板匹配函数 template5, 0.70, step=4, search=SEARCH_EX ) # , roi=(10, 0, 60, 60))#template图片,0.7匹配阈值,roi设置了是在规定区域寻找图像,不设置了默认整个区域寻找 if r5:#如果找到模板图片 img.draw_rectangle(r5,color=(0,0,0)) print(clock.fps())
-
加一句img.to_grayscale()