intel oneAPI 黑客松 ——使用Python intel 扩展实现车牌识别


背景

在这里插入图片描述
车牌识别技术(License Plate Recognition, LPR)是指利用计算机视觉和图像处理技术对车辆牌照进行自动识别和识别结果的处理。车牌识别技术可以分为两个阶段:车牌检测和车牌识别。车牌检测是指从整张图片中检测出车牌的位置和大小。车牌识别是指对车牌图像进行字符分割和字符识别,得到车牌号码。

车牌检测与识别技术用途广泛,可以用于道路系统、无票停车场、车辆门禁等。这项技术结合了计算机视觉和人工智能。同时也是计算机视觉学习里一个比较典型的案例。本次黑客松,我们将使用intel pytorch 实现一个车牌识别的案例

一、环境准备

建议使用conda环境安装

conda create -n ipex python=3.8  
conda activate ipex

安装所需的库:需要安装OpenCV和NumPy库来处理图像和数组。

pip install opencv-python  
pip install numpy

然后安装intel 依赖,可以在官网上找到合适自己系统的包下载。

python -m pip install torch==1.13.0a0+git6c9b55e intel_extension_for_pytorch==1.13.120+xpu -f https://developer.intel.com/ipex-whl-stable-xpu

二、数据集处理

在这里插入图片描述

数据清洗主要包括去除无效数据、处理缺失值、处理异常值等。无效数据可能包括图像背景中的噪声、与车牌无关的文本等。缺失值可能由于数据采集过程中某些车牌图像未能成功提取而产生。异常值可能包括明显不符合车牌形状和大小的图像或明显错误的字符等。

数据划分:数据划分是将数据集划分为训练集、验证集和测试集。通常情况下,训练集用于训练模型,验证集用于调整模型的超参数,测试集用于评估模型的性能。

三、对图像进行预处理

首先,需要对原始图片进行预处理。常见的预处理方法包括灰度化、高斯模糊、边缘检测和形态学变换等。其中,灰度化是将彩色图片转化为灰度图,可以有效地降低计算量和增加对比度。高斯模糊可以去除图像中的噪声。边缘检测可以将车牌的轮廓提取出来。形态学变换可以进一步提取出车牌的轮廓。

    def carlicense_distinguish(self):
        lower_limi = np.array([80, 30, 0])  # 设置色域上下界
        upper_limi = np.array([230, 110, 70])
        img_init = cv2.imread(self.carlicense_content)  # 加载原始图片
        img_resize = cv2.resize(img_init, dsize=(1000, 600), fx=0, fy=0)  # 重置图片尺寸
        img_blur = cv2.blur(img_resize, (2, 2))  # 对图片进行降噪
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值