diff --git a/LPRNET_part/LPRNet__iteration_74000.pth b/LPRNET_part/LPRNet__iteration_74000.pth new file mode 100644 index 0000000..6189faa Binary files /dev/null and b/LPRNET_part/LPRNet__iteration_74000.pth differ diff --git a/LPRNET_part/吉CF18040.jpg b/LPRNET_part/吉CF18040.jpg new file mode 100644 index 0000000..29d94e6 Binary files /dev/null and b/LPRNET_part/吉CF18040.jpg differ diff --git a/LPRNET_part/藏A0DBN8.jpg b/LPRNET_part/藏A0DBN8.jpg new file mode 100644 index 0000000..32ddef3 Binary files /dev/null and b/LPRNET_part/藏A0DBN8.jpg differ diff --git a/test_lpr_real_images.py b/test_lpr_real_images.py new file mode 100644 index 0000000..ce32954 --- /dev/null +++ b/test_lpr_real_images.py @@ -0,0 +1,99 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- +""" +LPRNet接口真实图片测试脚本 +测试LPRNET_part目录下的真实车牌图片 +""" + +import cv2 +import numpy as np +import os +from LPRNET_part.lpr_interface import LPRNinitialize_model, LPRNmodel_predict + +def test_real_images(): + """ + 测试LPRNET_part目录下的真实车牌图片 + """ + print("=== LPRNet真实图片测试 ===") + + # 初始化模型 + print("1. 初始化LPRNet模型...") + success = LPRNinitialize_model() + if not success: + print("模型初始化失败!") + return + + # 获取LPRNET_part目录下的图片文件 + lprnet_dir = "LPRNET_part" + image_files = [] + + if os.path.exists(lprnet_dir): + for file in os.listdir(lprnet_dir): + if file.lower().endswith(('.jpg', '.jpeg', '.png', '.bmp')): + image_files.append(os.path.join(lprnet_dir, file)) + + if not image_files: + print("未找到图片文件!") + return + + print(f"2. 找到 {len(image_files)} 个图片文件") + + # 测试每个图片 + for i, image_path in enumerate(image_files, 1): + print(f"\n--- 测试图片 {i}: {os.path.basename(image_path)} ---") + + try: + # 使用支持中文路径的方式读取图片 + image = cv2.imdecode(np.fromfile(image_path, dtype=np.uint8), cv2.IMREAD_COLOR) + + if image is None: + print(f"无法读取图片: {image_path}") + continue + + print(f"图片尺寸: {image.shape}") + + # 进行预测 + result = LPRNmodel_predict(image) + print(f"识别结果: {result}") + print(f"识别车牌号: {''.join(result)}") + + except Exception as e: + print(f"处理图片 {image_path} 时出错: {e}") + import traceback + traceback.print_exc() + + print("\n=== 测试完成 ===") + +def test_image_loading(): + """ + 测试图片加载方式 + """ + print("\n=== 图片加载测试 ===") + + lprnet_dir = "LPRNET_part" + + if os.path.exists(lprnet_dir): + for file in os.listdir(lprnet_dir): + if file.lower().endswith(('.jpg', '.jpeg', '.png', '.bmp')): + image_path = os.path.join(lprnet_dir, file) + print(f"\n测试文件: {file}") + + # 方法1: 普通cv2.imread + img1 = cv2.imread(image_path) + print(f"cv2.imread结果: {img1 is not None}") + + # 方法2: 支持中文路径的方式 + try: + img2 = cv2.imdecode(np.fromfile(image_path, dtype=np.uint8), cv2.IMREAD_COLOR) + print(f"cv2.imdecode结果: {img2 is not None}") + if img2 is not None: + print(f"图片尺寸: {img2.shape}") + except Exception as e: + print(f"cv2.imdecode失败: {e}") + +if __name__ == "__main__": + # 首先测试图片加载 + test_image_loading() + + # 然后测试完整的识别流程 + test_real_images() \ No newline at end of file