opencv项目1----自动识别车牌并手动保存车牌信息


import cv2
cap=cv2.VideoCapture('车牌识别.mp4')#读取视频的内容,也可以换做是摄像头进行实时传输视频
cap.set(3,640)
cap.set(4,480)#改变视频的宽和高
carplates=cv2.CascadeClassifier('haarcascade_russian_plate_number.xml')#加入车牌识别的模型
sss=0#存储照片的序号
minarea=200#最小面积
while True:
    success,img=cap.read()#进行图像的一帧一帧的循环
    if success==False:
        print('无法读取视频')
    imgGray=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)#灰度化图片
    carnumber=carplates.detectMultiScale(imgGray,1.1,10)#将模型加载到图片上
    for (x,y,w,h) in carnumber:#在寻找的结果中进行绘画操作
        area=w*h
        if area>minarea:
            cv2.rectangle(img,(x,y),(x+w,y+h),(255,0,0),2)#画出矩形
            cv2.putText(img,'Car Number',(x,y-5),cv2.FONT_HERSHEY_TRIPLEX,1,(255,255,0),2)#进行文本的添加
            imgroi=img[y:y+h,x:x+w]#把我们感兴趣的区域裁剪出来
            cv2.imshow('roi-picture',imgroi)#展示感兴趣的区域
    cv2.imshow('result-picture',img)#把我们这个绘画后的图片展示出来w
    if cv2.waitKey(1) & 0xFF == ord('s'):
        cv2.imwrite(str(sss)+".jpg",imgroi)#保存图片
        cv2.rectangle(img,(0,200),(640,300),(0,255,0),cv2.FILLED)
        cv2.putText(img, "Saved-success", (150, 265), cv2.FONT_HERSHEY_DUPLEX,2, (0, 25, 255), 2)
        cv2.imshow("result-picture", img)#展示在一个窗口
        cv2.waitKey(500)#等待多长时间
        sss = sss + 1

 

用到的模型是针对于美国车牌的,中国的目前还不能检测出来,后续分布中国的车牌检测代码。

仅供学习参考,如有不足,敬请指正! 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值