其他分享
首页 > 其他分享> > 2021-05-03 基于OpenMV的车牌号识别

2021-05-03 基于OpenMV的车牌号识别

作者:互联网

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

 

基于OpenMV的车牌号识别

 


前言

 

详细代码教程https://singtown.com/learn/49598/

这里的车牌号识别利用的是NCC模板匹配算法

一、制作模板库

我们首先用如下代码,用镜头把需要车牌号图片拍下,并记录成模板

 


import sensor, image, pyb

RED_LED_PIN = 1
BLUE_LED_PIN = 3

sensor.reset() # Initialize the camera sensor.
sensor.set_pixformat(sensor.GRAYSCALE) # or sensor.GRAYSCALE
sensor.set_framesize(sensor.B128X128) # or sensor.QQVGA (or others)
sensor.set_windowing((92,112))
sensor.skip_frames(10) # Let new settings take affect.
sensor.skip_frames(time = 2000) #延时两秒启动


n = 1  #储存的模板不能重名,所以这里拍摄一次 n换一次值(可以是1,2,3,4。。。。) 

sensor.skip_frames(time = 1000) #延时1000ms拍摄
   

print(n)
sensor.snapshot().save("chepaihao/%s.pgm" % (n) ) #将拍摄的图片保存到chepaihao文件夹,格式为pgm


print("拍摄成功")

 

可以拍摄多个车牌号制作多个模板

 

二、使用代码进行匹配

1.我们导入NCC模板匹配代码

源地址https://singtown.com/learn/49598/

 

我自己导入了4个车牌号,"chepai"是存储模板的,CPH_shibie是代码

 

 

 

基本代码如下,我们可以进行改动

import time, sensor, image
from image import SEARCH_EX, SEARCH_DS


sensor.reset()

sensor.set_contrast(1)
sensor.set_gainceiling(16)

sensor.set_framesize(sensor.QQVGA)
sensor.set_pixformat(sensor.GRAYSCALE)


template1 = image.Image("/chepai/1.pgm")
#加载模板图片


clock = time.clock()


while (True):
    clock.tick()
    img = sensor.snapshot()
    r1 = img.find_template(template1, 0.70, step=4, search=SEARCH_EX)
    if r1:
        img.draw_rectangle(r1)

    print(clock.fps())
我们如果想加载多的模板可以再写(这里的文件名不能有中文,所以我都用数字代替了)
template2 = image.Image("/chepai/2.pgm")

template3 = image.Image("/chepai/3.pgm")

等等等等..........

通过↑的代码我们可以 加载 "chepai"文件夹里所有的模板    

 

然后我们因为添加了新的模板,所以要使它们被识别,要加img.find_template()方法

比如我们上面加了template2,template3,template4..........需要在下面用find_template方法识别

r2 = img.find_template(template2, 0.07, step=4, search=SEARCH_EX)

if r2:

      img.draw_rectangle(r2)            #这里是调用rectangle ,就是制作一个矩形来框住我们识别的的车牌号

 

r3 = img.find_template(template3, 0.07, step=4, search=SEARCH_EX)

if r3:

      img.draw_rectangle(r3) 

以此类推

 

2.运行代码,用镜头拍我们原先的车牌号

效果如下

 

 

我们可以看到 利用OpenMV拍我们模板的车牌号,会产生矩形将它框住(矩形颜色可调 黑,白)。


 

标签:03,set,img,05,image,车牌号,2021,sensor,模板
来源: https://blog.csdn.net/weixin_57403325/article/details/116378760