openmv仪表盘识别

一、原理

本质上就是数字识别,原理在这里(NCC)

二、程序

import time, sensor, image
from image import SEARCH_EX, SEARCH_DS
#从imgae模块引入SEARCH_EX和SEARCH_DS。使用from import仅仅引入SEARCH_EX,
#SEARCH_DS两个需要的部分,而不把image模块全部引入。

# 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)
# 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.
templates =  ["/1.pgm", "/2.pgm","/3.pgm", "/5.pgm","/6.pgm","/7.pgm", "/8.pgm"]  #保存多个模板
#加载模板图片

clock = time.clock()

# Run template matching
while (True):
    clock.tick()
    img = sensor.snapshot()

    for t in templates:
        template = image.Image(t)
        #对每个模板遍历进行模板匹配
        r1 = img.find_template(template, 0.70, step=4, search=SEARCH_EX, roi=(25,40,24,31))
        if r1:
            img.draw_rectangle(r1)
            #打印模板名字
            a=str(t[1])
        else:
          a=" "
        r2 = img.find_template(template, 0.70, step=4, search=SEARCH_EX, roi=(47,40,19,29))
        if r2:
            img.draw_rectangle(r2)
            b=str(t[1]) #打印模板名字
        else:
          b=" "
        r3 = img.find_template(template, 0.70, step=4, search=SEARCH_EX, roi=(65,41,16,27))
        if r3:
            img.draw_rectangle(r3)
            c=str(t[1]) #打印模板名字
        else:
          c=" "
        r4 = img.find_template(template, 0.70, step=4, search=SEARCH_EX, roi=(80,41,18,27))
        if r4:
            img.draw_rectangle(r4)
            d=str(t[1]) #打印模板名字
        else:
          d=" "

        l=a+b+c
        if(a==" " or b==" " or c==" " or d==" " or f==" " or g==" "):
          print("数据获取不完整")

        else:
          print(l+"."+d)

三、实物

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
识别结果:
在这里插入图片描述
在这里插入图片描述

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值