C++下EasyPR中文车牌识别

EasyPR简介

EasyPR 的目标是成为一个简单、高效、准确的非限制场景 (unconstrained situation) 下的车牌识别库。它基于openCV这个开源库。这意味着你可以获取全部源代码,并且移植到opencv支持的所有平台。

EasyPR函数使用

创建一个CPlateRecognize的对象pr:

CPlateRecognize pr;

设置pr的属性

pr.setResultShow(false);//这句设置EasyPR是否打开结果展示窗口

pr.setDetectType(PR_DETECT_CMSER);//这句话设置EasyPR采用的车牌定位算法CMER代表文字定位方法,SOBEL和COLOR分别代表边缘和颜色定位方法。可以通过"|"符号结合。

pr.setLifemode(true);//这句话设置开启生活模式,这个属性在定位方法为SOBEL时可以发挥作用,能增大搜索范围,提高鲁棒性。

pr.setMaxPlates(n);//这句话设置EasyPR最多查找多少个车牌。当一副图中有大于n个车牌时,EasyPR最终只会输出可能性最高的n个。

pr对象的方法的使用:

vector<CPlate> plate;//创建一个向量存储多个CPlate,CPlate是一个车牌识别系统中的一个实体,它可能包含车牌号码、颜色、坐标等信息

Mat src = imread(filepath);//传入Mat图片

int result = pr.plateRecognize(src, plate);//第一个代表输入图像,第二个代表输出的车牌CPlate集合。

//当返回结果result为0时,代表识别成功,否则失败。

获取Cplate类的属性:


CPlate plate = plateVec.at(i);//plateVec.at(i) 表示从 plateVec 容器中获取索引为 i 的元素,将其赋值给 plate

Mat plateMat = plate.getPlateMat();//plateMat代表车牌图像,

RotatedRect rrect = plate.getPlatePos();//rrect代表车牌的可旋转矩形位置,

string license = plate.getPlateStr();//代表车牌字符串,例如"蓝牌:苏123456"

会继续学习更新。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值