📸 인물 사진 리터칭 로컬 환경
선거 포스터·프로필용 정면 인물 사진의 피부를 자연스럽게 다듬고, 요청하면 체형도 살짝 보정한다.
Photoshop 없이 Claude Code가 Python(OpenCV)으로 처리하고, 원본은 그대로 둔 채 옆에 _retouched 사본을 만든다.
2026-10-22 서울본부장 선거 포스터 사진 작업에서 시작했다.
파이프라인
--waist 허리 높이 중심 국소 가로 압축(기본 5%) ·
--global 사진 전체 가로 압축(기본 3%, 얼굴도 같이 줄어듦, 양옆은 배경 반사로 채움)설계 판단
- 첫 결과는 과보정이었다. 평활 강도를 높게 잡자 눈썹이 흐려지고 코·턱 음영이 사라져 플라스틱 피부가 됐다. 강도를 낮추고 이목구비를 마스크에서 빼서 지금 기본값이 됐다 — “모공이 남아야 사진이다”
- 체형 보정은 직선이 휘지 않는 방식만 쓴다. 조끼의 지퍼·재봉선 같은 곧은 선은 Liquify식 국소 변형에 바로 티가 난다. 가로 방향 압축만 쓰고, 허리 보정도 몸 중심선 기준 가로로만 당긴다. 무늬 없는 배경이라 경계가 숨는다
- 실측(조끼 폭, 리터칭본 대비): 전체 3% → 96.8% · 허리 5% → 95.6% · 둘 다 → 92.5%(얼굴 97%)
- 한 줄 측정은 지퍼 손잡이 같은 가장자리 잡음에 속는다 — 실제로 한 번 틀렸고, 그 뒤로 여러 높이 평균을 쓴다
- 하지 않는 것: 얼굴형 Liquify · 닷지/번 입체 보정 · 배경 개체 제거. 자동으로는 결과를 믿을 수 없다
참고한 커뮤니티 스킬
구성
opencv-python-headless<5(5에는 얼굴 검출이 빠졌다) · numpy · Pillow~/claude-config/skills/portrait-retouch/(SKILL.md + portrait.py) — 이 서버에는 없음/portrait-retouch · 하위 명령 retouch / slim / compare--waist 0)※ 코드는 맥에 있어 명세만 표시합니다. 인물 사진은 개인 자료라 서버·저장소에 올리지 않습니다. 체형·얼굴 보정은 사진 속 본인의 동의를 전제로 합니다.