车牌号校验规则,包括新能源车

车牌号通用校验规则:可输入7-8为字符
1、首字符输入:京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼
2、第二位:大写字母,不能输字母I和O
3、第三到八位:大写字母和数字组合,但是不能输入字母I和O,第七位可以是:挂学警港澳使领的汉字。
如果车牌是八位字符的,则:
第三位是字母D或字母F时:第四位:字母或者数字,后四位:必须使用数字;
第三位是数字时:最后一位必须是字母D或者F

下面展示一些 内联代码片

pattern: /^(([京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领][A-HJ-NP-Z](([0-9]{5}[DF])|([DF]([A-HJ-NP-Z0-9])[0-9]{4})))|([京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领][A-HJ-NP-Z][A-HJ-NP-Z0-9]{4}[A-HJ-NP-Z0-9挂学警港澳使领]))$/,

后面可能陆续出现一些新能源车并非为DF开头的,可更加需求修改,之前也再网上找过一些,都有bug,后面根据自己需求写了一个完整的,希望可以帮助到大家。对你有用的话不妨一键三连

  • 5
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
牌号码识别是计算机视觉领域中的一个重要应用场景,而OpenCV是一个十分强大的计算机视觉库,可以提供很多实用的工具和函数,实现牌号码识别也可以通过OpenCV来实现。以下是一个基于OpenCV的牌号码识别的Python代码解析: 首先,需要安装相应的Python库和OpenCV的依赖库,如numpy和cv2等: ```python import cv2 import numpy as np ``` 然后,需要读入一张待识别牌的图片,这里假设图片文件名为“car_plate.jpg”: ```python img = cv2.imread('car_plate.jpg') ``` 接着,需要对图片进行预处理,这通常包括灰度化、二值化和膨胀操作等: ```python gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) _, thresh = cv2.threshold(gray, 0, 255, cv2.THRESH_BINARY + cv2.THRESH_OTSU) kernel = cv2.getStructuringElement(cv2.MORPH_RECT, (3, 3)) dilated = cv2.morphologyEx(thresh, cv2.MORPH_OPEN, kernel) ``` 然后,需要在处理后的图片中寻找可能的牌位置,并进行轮廓检测: ```python contours, _ = cv2.findContours(dilated, cv2.RETR_TREE, cv2.CHAIN_APPROX_NONE) ``` 接下来,需要通过牌的宽高比和面积等规则来筛选最终的牌位置,并将牌区域进行切割: ```python for contour in contours: area = cv2.contourArea(contour) if area > 5000: x, y, w, h = cv2.boundingRect(contour) ratio = w / h if 2 < ratio < 5: plate = img[y:y+h, x:x+w] cv2.imshow('Plate', plate) cv2.waitKey(0) cv2.destroyAllWindows() break ``` 最后,需要通过OCR技术识别牌号码,并输出结果: ```python from pytesseract import image_to_string result = image_to_string(plate, lang='chi_sim') print('牌号码为:', result) ``` 以上就是一个基于OpenCV的牌号码识别的Python代码实现过程,当然也可以使用更高级的技术,如深度学习和卷积神经网络等方法来实现牌号码的高精度识别。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值