크기 조절의 핵심 과제
이미지 크기를 바꾸는 건 단순해 보이지만, 그 안의 계산은 꽤 복잡합니다. 축소할 때는 여러 픽셀을 적은 수의 픽셀로 합쳐야 하고, 확대할 때는 없던 픽셀을 만들어내야 합니다. 이 과정에서 어떤 알고리즘을 쓰느냐에 따라 결과물이 선명할 수도, 뿌옇게 될 수도 있습니다.
축소: 정보를 줄이는 기술
축소는 비교적 안전한 방향입니다. 원본에 필요 이상의 정보가 있으니까요. 가장 단순한 최근접 이웃(Nearest-Neighbor) 방식은 대표 픽셀 하나만 골라서 쓰는데, 빠르지만 계단 현상이 심합니다.
쌍선형(Bilinear) 보간은 주변 4개 픽셀을 평균 내서 부드럽지만 약간 흐릿합니다. 쌍삼차(Bicubic) 보간은 16개 픽셀을 참조해 더 선명한 결과를 내고, 대부분의 전문 편집기에서 기본값으로 씁니다.
Lanczos 리샘플링은 더 넓은 범위의 픽셀을 참고하는 고급 방식으로, 축소 시 최고 수준의 선명도를 제공합니다. 계산량이 더 많지만 요즘 하드웨어에서는 체감 차이가 거의 없습니다.
웹용 이미지라면 고해상도 원본을 Lanczos나 Bicubic으로 줄이면 충분히 깔끔한 결과를 얻을 수 있습니다.
확대: 어려운 문제
확대는 원본에 없는 픽셀을 만들어내는 작업이라 근본적으로 어렵습니다. 기존 알고리즘은 이웃 픽셀 사이를 보간하는 것이 전부라서, 확대할수록 뿌옇게 되는 건 피할 수 없었습니다.
Nearest-Neighbor 확대는 픽셀 하나가 여러 칸으로 복제되어 네모네모한 모양이 됩니다. 픽셀아트나 QR코드에는 오히려 이게 맞지만, 사진에는 최악이죠.
Bicubic 확대는 부드럽지만 2배 정도가 한계고, 3배 이상부터는 눈에 띄게 흐릿해집니다.
AI 업스케일링이 판도를 바꿨습니다. 수백만 장의 이미지로 학습한 신경망이 기존 알고리즘으로는 불가능했던 디테일을 추가합니다. Real-ESRGAN 같은 모델은 4배 확대에서도 원본보다 선명하게 보이는 결과를 내놓기도 합니다. 다만 AI가 추가한 디테일은 추정이지 실제 정보가 아니므로, 과학이나 법의학 등 정확성이 중요한 분야에서는 주의가 필요합니다.
비율 유지
크기 조절에서 가장 흔한 실수가 가로세로 비율을 깨뜨리는 겁니다. 4:3 사진을 1:1 정사각형에 억지로 넣으면 얼굴이 납작해지고 원이 타원이 되죠.
항상 비율 잠금을 켜두세요. 너비만 지정하면 높이가 자동 계산되게 하는 겁니다. 인스타그램 1080x1080 같은 특정 비율이 필요하다면, 먼저 그 비율로 자른 다음 크기를 조절하는 게 올바른 순서입니다.
반응형 웹에서는 HTML srcset과 sizes 속성으로 기기별 해상도에 맞는 이미지를 제공하세요. 가장 큰 사이즈로 한 벌만 만들고 브라우저가 알아서 고르게 하면 확대 없이 항상 적절한 크기가 표시됩니다.
일괄 크기 조절
여러 이미지를 한 번에 처리할 때는 일관성이 핵심입니다. 목표 크기를 먼저 정하고 모든 이미지에 동일하게 적용하세요. 쇼핑몰 상품 사진을 표준 크기로 맞추거나, 사진 라이브러리의 썸네일을 생성하거나, 반응형 웹용 다중 해상도 이미지를 만드는 작업이 대표적입니다.
모든 이미지에 같은 알고리즘을 쓰는 것도 중요합니다. 섞어 쓰면 결과물의 느낌이 미묘하게 달라집니다. 사진이라면 Lanczos나 Bicubic이 기본 선택이 됩니다.
출력 파일 이름도 체계적으로 정하세요. 크기를 붙이거나(photo-1200x800.jpg) 접미사를 쓰면(photo-thumb.jpg) 나중에 구분이 쉽습니다.
실전 팁 정리
원본은 항상 최고 해상도로 보관하세요. 리사이즈한 이미지를 다시 리사이즈하면 화질 저하가 누적됩니다.
샤프닝은 축소 후에 적용합니다. 축소 과정에서 약간 부드러워지는 걸 언샤프 마스크(강도 50~80%, 반경 0.5~1.0)로 보정하면 선명도가 살아납니다.
웹 전달용이라면 크기 조절 + 포맷 최적화를 함께 하세요. 표시할 크기로 정확히 맞춘 뒤 WebP 품질 80~85로 저장하면 용량과 화질 모두 잡을 수 있습니다.