피드로 돌아가기
When rotating an image isn't actually rotating an image
Dev.toDev.to
Backend

EXIF Metadata와 Pixel Data 불일치 해결을 통한 이미지 정규화

When rotating an image isn't actually rotating an image

Javonn2026년 6월 24일6beginner

Context

OS별 이미지 렌더링 방식 차이로 인해 OCR 서버 업로드 시 이미지 방향이 90도 회전되는 현상 발생. macOS의 시각적 회전 처리가 실제 Pixel Data가 아닌 Thumbnail/Metadata 영역에만 국한되어 Ubuntu 환경에서 렌더링 불일치가 유발된 구조적 한계 존재.

Technical Solution

  • Metadata 기반 렌더링 방식과 Physical Pixel 데이터 간의 불일치 지점 식별
  • OS별 Rotation 처리 로직의 편차를 분석하여 Ubuntu 기준의 정방향(North) 좌표계 정의
  • Python Pillow 라이브러리를 활용하여 Metadata의 EXIF Orientation Tag를 강제로 갱신하는 정규화 프로세스 도입
  • 360도 회전 연산을 적용하여 시각적 변화 없이 물리적 픽셀 데이터를 재작성하는 Force Rewrite 전략 채택
  • Pixel Data와 Metadata를 동일한 상태(Value 1)로 동기화하여 플랫폼 독립적인 이미지 뷰어 호환성 확보

1. 이미지 처리 파이프라인 설계 시 EXIF Orientation Tag의 존재 여부와 OS별 렌더링 차이 검토

2. 단순 시각적 회전이 아닌 물리적 픽셀 재작성(Physical Pixel Rewrite)을 통한 데이터 정규화 적용

3. 서로 다른 OS 환경 간 데이터 전송 시 Metadata와 실제 Payload의 일관성 검증 단계 추가

원문 읽기