캐논스타일 이미지 보정하는 방법
캐논(Canon) 인테리어 사진 스타일’**의 핵심은 정확한 화이트 밸런스(순백색 유지), 풍부한 하이라이트 디테일, 그리고 텍스처(재질감)가 살아있는 날카로운 선예도입니다.
단순히 ESRGAN만 돌리면 해상도는 커지지만, 자칫 ‘유화(그림)’처럼 뭉개지거나 색감이 탁해질 수 있습니다.
“맑고 투명하며 쨍한 잡지 화보” 느낌을 내기 위해 Python 프로그램에 추가해야 할 5가지 핵심 보정 로직을 정리해 드립니다. 이 기능들은 OpenCV와 NumPy를 통해 ESRGAN 전후 단계에 적용해야 합니다.
1. 전처리 (Pre-processing): 노이즈 제거 및 라인 정리
ESRGAN이 노이즈까지 확대하는 것을 막고, 인테리어 사진의 핵심인 ‘직선’을 살려야 합니다.
-
Lanczos 리샘플링 다운스케일링 (선택적): 원본 이미지가 너무 거칠다면, 아주 살짝 줄였다가(0.9배) AI로 확대하면 노이즈가 줄어듭니다.
-
Fast Non-Local Means Denoising:
cv2.fastNlMeansDenoisingColored함수를 약하게 적용하여 잡티를 제거합니다. 이는 ‘투명한’ 느낌을 주는 기초가 됩니다.
2. ESRGAN 모델 선정: Real-ESRGAN (x4plus)
일반 ESRGAN 모델 대신, 실사 사진에 특화된 Real-ESRGAN_x4plus 모델을 사용해야 합니다.
-
이유: 일반 모델은 애니메이션 풍으로 변환되는 경향이 있습니다.
x4plus모델은 카메라 센서의 노이즈 패턴과 JPEG 압축 손실을 복원하도록 훈련되어 있어, 캐논 카메라의 RAW 파일 현상과 유사한 결과물을 줍니다.
3. 후처리 핵심 로직 (Post-processing): “맑고 쨍한” 느낌 만들기
이 단계가 가장 중요합니다. ESRGAN 결과물에 다음 필터들을 순차적으로 적용하세요.
A. 언샤프 마스크 (Unsharp Masking) – 선예도 극대화
캐논 L렌즈 특유의 ‘칼 같은 선예도’를 구현합니다. 단순히 전체를 날카롭게 하는 게 아니라, 엣지(Edge) 부분의 대비를 높여야 합니다.
-
Python 로직: 가우시안 블러(Gaussian Blur) 처리된 이미지와 원본의 차이를 계산하여 원본에 더해줍니다.
-
효과: 대리석 상판의 무늬나 조명의 빗살무늬가 또렷하게 살아납니다.
B. CLAHE (Contrast Limited Adaptive Histogram Equalization) – 투명감 부여
이미지 전체의 밝기를 올리면 하이라이트가 날아갑니다(백화 현상). CLAHE는 이미지를 타일로 쪼개어 부분적으로 대비를 조정합니다.
-
설정값:
clipLimit=2.0,tileGridSize=(8,8)정도가 적당합니다. -
효과: 어두운 구석은 밝히고, 너무 밝은 조명은 디테일을 살려내어 ‘잡지 화보’처럼 균형 잡힌 톤을 만듭니다.
C. 화이트 밸런스 자동 보정 (Auto White Balance) – 맑은 색감
첨부하신 사진처럼 ‘흰색을 진짜 흰색처럼’ 보이게 하려면 색온도 보정이 필수입니다.
-
Gray World 알고리즘: 이미지의 평균 색상을 회색으로 가정하고 B(파랑)와 R(빨강) 채널의 게인을 조정합니다.
-
효과: 실내 조명으로 인한 누런 끼를 제거하여 쿨하고 모던한 느낌을 줍니다.
4. 고급 블렌딩 (Image Blending)
AI가 생성한 이미지가 너무 인위적일 때 사용하는 프로들의 팁입니다.
-
로직:
최종 결과물 = (ESRGAN 결과물 * 0.7) + (원본을 Lanczos로 단순 확대한 이미지 * 0.3) -
효과: AI가 만들어낸 디테일은 챙기되, 원본 사진이 가진 자연스러운 질감을 섞어주어 “인위적인 AI 느낌”을 없앱니다.
5. 색수차 제거 (Chromatic Aberration Removal)
확대 과정에서 물체 테두리에 보라색이나 초록색 띠가 생길 수 있습니다. 이를 제거해야 비싼 렌즈로 찍은 것처럼 보입니다.
-
로직: RGB 채널을 미세하게 이동(Shift)시키거나 채도 마스크를 이용해 테두리의 유채색을 뺍니다.
🛠️ 추천 파이프라인 요약 (Python 구현 순서)
-
Input Load: 이미지 로드
-
AI Upscaling:
Real-ESRGAN(CUDA 가속) -
Color Correction: 화이트 밸런스 조정 + 채도(Saturation) 살짝(1.1배) 증가
-
Tone Mapping: CLAHE로 명암비 최적화 (투명감 확보)
-
Sharpening: Unsharp Mask 적용 (선예도 확보)
-
Blending: 필요 시 원본 텍스처와 미세 혼합
-
Save: 고화질 저장