Image2Vector, 이미지를 벡터로 트레이싱 할 때 쓰는 오픈소스들
컬러 일러스트부터 단색 로고와 손그림까지, 이미지에 맞는 벡터화 도구 여섯 가지를 비교해요.
PNG 로고를 크게 늘렸더니 가장자리가 흐려졌다면, 이미지를 SVG로 다시 그려야 할 때입니다. 벡터 트레이싱은 픽셀의 경계를 찾아 곡선과 도형으로 바꾸는 작업이에요. 다만 SVG가 되었다고 원본의 편집 가능한 레이어나 폰트까지 되살아나는 것은 아닙니다.
결과를 좌우하는 첫 질문은 “어떤 도구가 제일 좋은가?”보다 “어떤 이미지를 어떤 형태로 편집하고 싶은가?”입니다. 색면을 따야 하는지, 펜선의 중심을 따라야 하는지에 따라 선택이 달라집니다.
먼저 고르는 기준
| 이미지와 목적 | 먼저 살펴볼 도구 | 확인할 점 |
|---|---|---|
| 컬러 일러스트, 서비스 연동 | VTracer | 색상 수와 경계, 실행 환경 |
| 단순 로고, 아이콘 | Vecto | 직선과 원형, 공유 경계 |
| 흑백 로고, 서명 | Potrace | 이진화와 외곽선 품질 |
| 손글씨, 선화 | AutoTrace | 중심선과 교차점, 선 굵기 |
| SVG 코드 생성 연구 | StarVector | 모델 실행 비용과 결과 검수 |
| 레이어 기반 최적화 연구 | LIVE | 실행 환경과 도형 수 |
VTracer: 컬러 이미지를 다루는 범용 엔진
VTracer는 Rust 기반 이미지 벡터화 프로젝트입니다. 색 영역을 나누고 경계를 곡선으로 맞춰 SVG를 만들어요. 컬러 그래픽과 흑백 이미지 모두 다루며 CLI, Rust 라이브러리, Python과 WebAssembly 기반 도구를 제공합니다.
색면을 겹쳐 놓는 방식과 경계를 공유하는 모자이크 방식은 결과의 편집 구조가 다릅니다. 사용할 버전의 옵션을 확인하고 같은 이미지로 비교해 보세요. 사진도 변환할 수 있지만 색상과 디테일이 많을수록 패스가 늘어나기 때문에, 사진처럼 자연스러운 결과나 작은 파일이 보장되지는 않습니다.
Vecto: 맞닿는 경계와 기하학적 도형
Vecto는 C#과 .NET으로 만든 트레이서입니다. 인접한 영역의 경계를 한 번 계산해 공유하는 평면 분할 방식을 사용합니다. 프로젝트는 이를 통해 도형 사이의 틈과 중복을 피하고, 직선과 원형에 각각 선과 호를 맞춘다고 설명합니다.
플랫한 로고나 아이콘을 시험하기 좋습니다. 반면 그라데이션과 그림자, 사진은 색 띠로 단순화될 수 있어요. 데스크톱 앱은 Windows용이며 CLI는 macOS와 Linux에서도 제공됩니다. v0.4.4부터 AGPL-3.0-only, 이전 v0.4.3까지는 MIT이므로 제품에 넣을 때 선택한 버전과 라이선스를 확인하세요.
Potrace: 흑백 외곽선의 기준점
Potrace는 흑백 비트맵의 외곽선을 매끄러운 곡선으로 바꿉니다. 서명이나 단색 심볼처럼 형태가 분명한 이미지에 적합하고 Inkscape에서도 쓰입니다. 원본이 컬러라면 먼저 흑백으로 분리해야 합니다. 공식 배포판은 PBM·PGM·PPM·BMP 입력을 받으므로 PNG를 바로 넘기기 전에 변환이 필요할 수 있습니다.
흰 바탕에 검은 획을 따면 보통 획의 바깥 테두리를 감싼 면이 만들어집니다. 나중에 선의 두께를 하나의 스트로크로 조절하려는 작업이라면 중심선 도구를 살펴보세요.
AutoTrace: 선의 중심을 따라가기
AutoTrace는 외곽선과 중심선 트레이싱을 지원합니다. 중심선 방식은 획의 양쪽 테두리 대신 가운데를 따라 경로를 만들기 때문에 손그림이나 선화에 유용합니다.
다만 교차하는 선이나 굵기가 변하는 붓글씨는 원래의 필순과 획을 정확히 복원하기 어렵습니다. 결과를 편집기에서 확인하고 필요한 부분을 직접 고쳐야 합니다.
StarVector와 LIVE: 연구에서 살펴볼 두 방향
StarVector는 이미지나 텍스트로부터 SVG 코드를 생성하는 멀티모달 모델입니다. CVPR 2025 연구로, 아이콘이나 다이어그램의 벡터 표현을 생성하는 접근을 보여줍니다. 픽셀을 그대로 따라가는 도구와 달리 생성 결과가 원본의 세부 형태나 텍스트를 바꿀 수 있으므로 정확성이 중요한 로고는 특히 대조가 필요합니다.
LIVE는 CVPR 2022 연구로, 미분 가능 렌더링을 이용해 닫힌 Bézier 패스를 점진적으로 추가하고 최적화합니다. 학습된 생성 모델이라기보다 이미지별 최적화 방식에 가깝습니다. 겹쳐진 도형 구조를 만들 수 있지만 원본의 의미 있는 레이어가 그대로 복원된다고 보장하지는 않습니다.
변환 전에, 그리고 변환 후에
가능하면 해상도가 높고 가장자리가 선명한 원본을 쓰세요. 단색 로고라면 먼저 명암을 정리하고, 컬러 이미지라면 불필요한 색과 배경을 줄여 비교하면 좋습니다. 사진이나 작은 글자는 트레이싱 결과가 복잡해지거나 형태가 변하기 쉬워요.
결과를 열어 ① 원본과 겹쳐 윤곽 비교 ② 확대해 틈과 작은 조각 확인 ③ 패스와 노드 수 확인 ④ 텍스트와 중요한 곡선을 수동 수정해 보세요. 화면에서 비슷해 보이는 SVG도 편집하기 어려울 수 있습니다. 서비스에 탑재한다면 해당 버전의 라이선스와 의존성, 모델 가중치의 이용 조건도 각각 확인해야 합니다.
같은 이미지를 두세 도구에 넣고 시각적 유사도와 편집 편의성을 함께 비교하는 것이 가장 빠른 출발점입니다.