feat: 特殊车牌生成管线 + C++/多进程/色温校正
This commit is contained in:
1 parent
3808b9f035
commit
3101992f51
29 files changed
+2336
-80
No files matched your search
@@ -0,0 +1,45 @@
|
||||
#!/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)')
|
||||
Reference in new issue
Block a user