#!/usr/bin/env python3 # -*- coding: utf-8 -*- """ 生成纯合成车牌(无场景背景)作为 CUT Domain A ============================================ 独立于 CCPD 原图,直接调用车牌生成器渲染纯车牌图像。 """ import sys import os import random from pathlib import Path import cv2 import numpy as np # 路径解析:定位 chinese_license_plate_generator _SCRIPT_DIR = Path(__file__).resolve().parent # .../CCPD_SPE_GEN/cv_pipeline/ _PROJECT_DIR = _SCRIPT_DIR.parent.parent # .../ICE_Dataset/ _GENERATOR_DIR = _PROJECT_DIR / 'chinese_license_plate_generator' if str(_GENERATOR_DIR) not in sys.path: sys.path.insert(0, str(_GENERATOR_DIR)) from generate_multi_plate import MultiPlateGenerator random.seed(42) np.random.seed(42) g = MultiPlateGenerator( str(_GENERATOR_DIR / 'plate_model'), str(_GENERATOR_DIR / 'font_model') ) out = 'gan_data/domain_A_synthetic/police_pure' os.makedirs(out, exist_ok=True) for i in range(500): num, bg, _ = g.generate_plate_number() # 强制police类型 if '警' not in num: num = num[:6] + '警' img = g.generate_plate_special(num, 'white', False) cv2.imwrite(f'{out}/synth_{i:04d}.jpg', img) print(f'Done: {out} ({len(os.listdir(out))} images)')