第P10周:Pytorch实现车牌识别

前言

要求:

  1. 学习并理解本文

拔高:

  1. 对单张车牌进行识别

实验环境:

  • 语言环境:Python3.10
  • 编译器:Pycharm
  • 深度学习环境:Pytorch
    1.torch == 2.4.0+cu121
    2.torchvision == 0.19.0+cu121

一、前期准备

1.设置GPU

import torch
import torch.nn as nn
from torchvision import transforms, datasets
import os,PIL,pathlib,warnings
import os,PIL,random,pathlib
import torch.nn.functional as F
from torch.autograd import Variable
warnings.filterwarnings("ignore")  #忽略警告信息
#隐藏警告
import warnings
import numpy as np
import os
import pandas as pd
from torchvision.io import read_image
from torch.utils.data import Dataset
import torch.utils.data as data
from PIL import Image
import torchsummary
import matplotlib.pyplot as plt

#-------------设置GPU---------------
# 设置硬件设备,如果有GPU则使用,没有则使用cpu
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
print(device)

代码输出:

cuda

2.导入数据

输入代码:

# ---------------------------导入数据----------------------
plt.rcParams['font.sans-serif'] = ['SimHei']  # 用来正常显示中文标签
plt.rcParams['axes.unicode_minus'] = False  # 用来正常显示负号

data_dir = 'F:/lsydata/chepai/015_licence_plate/'
data_dir = pathlib.Path(data_dir)

data_paths = list(data_dir.glob('*'))
classeNames = [str(path).split("\\")[4].split("_")[1].split(".")[0] for path in data_paths]
print(classeNames)

代码输出:

['川W9BR26', '藏WP66B0', '沪E264UD', '津D8Z15T', '浙E198UJ', '陕Z813VB', '甘G24298', '青SN18Q3', '云HZR899', '辽G46Z9R', '湘G0H422', '蒙D35P2J', '冀Z4K30A', '青Q31F3Y', '京X3U68P', '粤P6W0T1', '浙LD9F20', '黑AQ8U79', '津T0B1L3', '琼D0DK01', '渝V8X77K', '陕H4M02X', '沪K8W7S0', '津L612CY', '琼U2E68N', '鄂YDK772', '赣G3B80M', '陕B4H8M5', '甘J9R5K1', '贵UB312U', '浙R6PA34', '豫P21V72', '冀K3DD99', '黑DU092M', '川CQ816G', '晋N678PK', '川T65HK2', '闽FD24Q5', '桂X2R99V', '皖ZX3N01', '晋AL98Q2', '皖S9Q7H7', '川Q802LX', '琼F21DU3', '浙MZB988', '粤C035ZT', '津T127WB', '黑J92YL9', '津L93B1R', '贵R86A0C', '川C6W88E', '川STQ089', '沪DFS269', '赣K6R6S7', '新CXX059', '藏E6E0J5', '吉TY9Y56', '赣H71Y6P', '甘Y64BV5', '黑AD426J', '云T559R9', '沪W70W0S', '苏MB1B64', '青EYJ193', '苏PK4A85', '鄂W0UC59', '苏V617UX', '鲁FU211P', '川V12X5U', '沪J541UR', '冀G844UX', '冀V924RP', '吉EV33G4', '贵F1WA97', '桂L120AY', '贵S014M8', '吉A47W3K', '闽UC760E', '苏VU77Z2', '陕Z0C3J1', '豫L1Z7W9', '鄂BX6773', '宁U71Y0N', '藏Y996XF', '晋P6UE94', '苏XY2E83', '辽S041TN', '黑CW73L1', '京A300JJ', '鲁Y0XU14', '京X2U380', '琼X57T3N', '渝FF77F5', '辽G6Z0E6', '皖N7MY60', '鲁S38MC4', '新PCJ034', '黑RQ5Y82', '京T77UG0', '青Z0M0Q9', '蒙CND016', '豫QA728B', '津F06W8L', '苏D08RX8', '冀S467MS', '琼K70U4T', '皖JKT701', '贵LH972J', '鄂BS039A', '鄂XU23J4', '皖N0QZ88', '陕DK449S', '京JD27D0', '辽W5H1W1', '津WXR665', '陕WJ0K89', '吉D5MZ11', '渝CW50V0', '冀YR14S2', '苏D3F8Y8', ...... '青UE87B7', '辽A3DU99', '渝FJ65C3', '甘A0W9U9', '皖JP7Z46', '渝R6P85G', '青AY1G55', '浙X4DZ51', '蒙XX83H0', '皖C2HW16', '蒙NLP471', '皖D785JQ', '藏H54HU0', '京X48LL5', '桂UP03K2', '渝W63CD0', '鄂U60RJ1', '蒙U17CL7', '赣S8Q147', '琼XFN464', '闽B99EB1', '甘YJ5A31', '苏JA147V']

代码输入:

data_paths     = list(data_dir.glob('*'))
data_paths_str = [str(path) for path in data_paths]
print(data_paths_str)

代码输出:

['015_licence_plate\\000000000_川W9BR26.jpg',
 '015_licence_plate\\000000000_藏WP66B0.jpg',
 '015_licence_plate\\000000001_沪E264UD.jpg',
 
 ......
 
 '015_licence_plate\\000000003_甘G24298.jpg',
 '015_licence_plate\\000000003_青SN18Q3.jpg',
 '015_licence_plate\\000000004_云HZR899.jpg',
 ...]

3.数据可视化

# ----------------------数据可视化-----------------------


total_datadir = 'F:/lsydata/chepai/015_licence_plate/'

plt.figure(figsize=(14, 5))
plt.suptitle("数据示例(lsy)", fontsize=15)

for i in range(18):
    plt.subplot(3, 6, i + 1)
    # plt.xticks([])
    # plt.yticks([])
    # plt.grid(False)

    # 显示图片
    images = plt.imread(data_paths_str[i])
    plt.imshow(images
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值