CommonZhuan Preprocessing Scripts 1.0

This commit is contained in:
CrbnsCat10n
2026-05-13 16:57:16 +08:00
parent 4e26779971
commit 629086e53c
9 changed files with 1009 additions and 6 deletions

View File

@@ -13,6 +13,7 @@ from process_characters import (
matrix_map,
mask_to_display,
read_image,
small_matrix_to_svg,
write_image,
)
@@ -35,6 +36,7 @@ def process_image(
image_path: Path,
cleaned_dir: Path,
matrix_dir: Path,
svg_dir: Path,
grid_size: int = 17,
cell_samples: int = 32,
open_kernel_size: int = 1,
@@ -67,12 +69,24 @@ def process_image(
matrix_to_text(mapping.matrix),
encoding="utf-8",
)
height, width = gray.shape
svg = small_matrix_to_svg(
mapping.matrix,
width,
height,
stem,
mapping.x_edges,
mapping.y_edges,
mapping.triangles,
)
(svg_dir / f"{stem}.svg").write_text(svg, encoding="utf-8")
def process_directory(
input_dir: Path,
cleaned_dir: Path,
matrix_dir: Path,
svg_dir: Path,
grid_size: int = 17,
cell_samples: int = 32,
open_kernel_size: int = 1,
@@ -83,6 +97,7 @@ def process_directory(
) -> int:
cleaned_dir.mkdir(parents=True, exist_ok=True)
matrix_dir.mkdir(parents=True, exist_ok=True)
svg_dir.mkdir(parents=True, exist_ok=True)
image_paths = iter_image_paths(input_dir)
if not image_paths:
@@ -93,6 +108,7 @@ def process_directory(
image_path=image_path,
cleaned_dir=cleaned_dir,
matrix_dir=matrix_dir,
svg_dir=svg_dir,
grid_size=grid_size,
cell_samples=cell_samples,
open_kernel_size=open_kernel_size,
@@ -113,6 +129,7 @@ def build_parser() -> argparse.ArgumentParser:
parser.add_argument("--input-dir", type=Path, required=True)
parser.add_argument("--cleaned-dir", type=Path, required=True)
parser.add_argument("--matrix-dir", type=Path, required=True)
parser.add_argument("--svg-dir", type=Path, required=True)
parser.add_argument("--grid-size", type=int, default=17)
parser.add_argument("--cell-samples", type=int, default=32)
parser.add_argument("--open-kernel-size", type=int, default=1)
@@ -129,6 +146,7 @@ def main() -> None:
input_dir=args.input_dir,
cleaned_dir=args.cleaned_dir,
matrix_dir=args.matrix_dir,
svg_dir=args.svg_dir,
grid_size=args.grid_size,
cell_samples=args.cell_samples,
open_kernel_size=args.open_kernel_size,