开始之前:
1. 识别车牌输出相关数据
在车牌识别功能下,当车牌出现在HUSKYLENS 2 屏幕中时,可以被识别和框出,可以获取HUSKYLENS 2 画面中车票的总数、离十字光标最近的车牌的相关数据并在串口打印出来,可以读取车牌的数据有:车牌ID、车牌名称、车牌内容(车牌号)、宽度、高度以及车牌中心点的X坐标位置和Y坐标位置。
示例程序如下。
#include "DFRobot_HuskylensV2.h"
// 创建对象
HuskylensV2 huskylens;
// 主程序开始
void setup() {
Serial.begin(9600);
Wire.begin();
while (!huskylens.begin(Wire)) {
delay(100);
}
huskylens.switchAlgorithm(ALGORITHM_LICENSE_RECOGNITION);
}
void loop() {
huskylens.getResult(ALGORITHM_LICENSE_RECOGNITION);
if ((huskylens.available(ALGORITHM_LICENSE_RECOGNITION))) {
Serial.println((String("画面中的车牌总数") + String((huskylens.getCachedResultNum(ALGORITHM_LICENSE_RECOGNITION)))));
Serial.println((String("靠近中心的车牌ID为:") + String((RET_ITEM_NUM(huskylens.getCachedCenterResult(ALGORITHM_LICENSE_RECOGNITION), Result, ID)))));
Serial.println((String("靠近中心的车牌号为:") + String((RET_ITEM_STR(huskylens.getCachedCenterResult(ALGORITHM_LICENSE_RECOGNITION), Result, content)))));
Serial.println((String("靠近中心的车牌中心点坐标为:") + String((String((RET_ITEM_NUM(huskylens.getCachedCenterResult(ALGORITHM_LICENSE_RECOGNITION), Result, xCenter))) + String((String(",") + String((RET_ITEM_NUM(huskylens.getCachedCenterResult(ALGORITHM_LICENSE_RECOGNITION), Result, yCenter)))))))));
}
delay(500);
}
**运行结果:**如下,对于未学习过的车牌默认输出ID为0。,如何学习车牌详细操作请看:车牌识别功能说明
2. 统计指定ID车牌数量并获取相关数据
当画面中出现多张车牌时,可以使用以下示例程序统计指定ID的车牌数量,获取指定ID车牌的相关数据。
示例程序如下。
#include "DFRobot_HuskylensV2.h"
// 创建对象
HuskylensV2 huskylens;
// 主程序开始
void setup() {
Serial.begin(9600);
Wire.begin();
while (!huskylens.begin(Wire)) {
delay(100);
}
huskylens.switchAlgorithm(ALGORITHM_LICENSE_RECOGNITION);
}
void loop() {
huskylens.getResult(ALGORITHM_LICENSE_RECOGNITION);
if ((huskylens.available(ALGORITHM_LICENSE_RECOGNITION))) {
if (((huskylens.getCachedResultByID(ALGORITHM_LICENSE_RECOGNITION, 1) != NULL))) {
Serial.println((String("ID为1的车牌总数为:") + String((huskylens.getCachedResultNumByID(ALGORITHM_LICENSE_RECOGNITION, 1)))));
Serial.println((String("ID为1的车牌的内容为:") + String((RET_ITEM_STR(huskylens.getCachedResultByID(ALGORITHM_LICENSE_RECOGNITION, 1), Result, content)))));
Serial.println((String("第1个ID为1车牌的中心点坐标为:") + String((String((RET_ITEM_NUM(huskylens.getCachedIndexResultByID(ALGORITHM_LICENSE_RECOGNITION, 1, 1-1), Result, xCenter))) + String((String(",") + String((RET_ITEM_NUM(huskylens.getCachedIndexResultByID(ALGORITHM_LICENSE_RECOGNITION, 1, 1-1), Result, yCenter)))))))));
}
}
delay(500);
}
**运行结果:**如下,当画面中出现多个相同车牌时,HUSKYLENS 2 可以识别画面中所有ID为1的车牌(前提时已学习某一车牌并分配ID为1,未学习过的车牌统一ID为0),通过串口能观察统计的当前画面的ID1车牌总数。同时串口输出第一张ID为1的车牌的相关数据。