공공기관2 작업 중. _temp 몽타주(재생성가능)는 제외. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
35 lines
1.3 KiB
Python
35 lines
1.3 KiB
Python
# -*- coding: utf-8 -*-
|
|
"""공공기관 N 이미지 몽타주 재판정 일괄: 각 기관 렌더+크기필터(nshot) → 이미지강등 적용(napply).
|
|
국토연구원은 이미 처리 → 스킵. 사용: python _공공기관_nbatch.py [기관명 ...]
|
|
"""
|
|
import sys, os, json, importlib.util
|
|
|
|
|
|
def load(mod):
|
|
spec = importlib.util.spec_from_file_location(mod, rf'D:\01.프로젝트\DB수집\_스크립트\{mod}.py')
|
|
m = importlib.util.module_from_spec(spec); spec.loader.exec_module(m)
|
|
return m
|
|
|
|
|
|
nshot = load('_공공기관2_nshot')
|
|
napply = load('_공공기관2_napply')
|
|
|
|
probe = {r['name']: r for r in json.load(open(r'D:\01.프로젝트\DB수집\_스크립트\_공공기관2_probe.json', encoding='utf-8'))}
|
|
order = sorted(probe.values(), key=lambda x: -int(x['num']))
|
|
only = sys.argv[1:]
|
|
if only:
|
|
order = [p for p in order if p['name'] in only or str(p['num']) in only]
|
|
|
|
DONE = {'국토연구원'}
|
|
for p in order:
|
|
name = p['name']
|
|
if name in DONE:
|
|
print(f'[{name}] 이미 처리 — 스킵'); continue
|
|
try:
|
|
nshot.run(name)
|
|
napply.run(name)
|
|
except Exception as e:
|
|
import traceback
|
|
print(f'[{name}] 실패: {e}'); traceback.print_exc()
|
|
print('\n=== N이미지 몽타주 재판정 일괄 완료 ===')
|