정말 헷갈리는 EXIF Orientation(회전정보) Tag, Right-Top은 왜 Right-Top인가?

EXIF 회전 정보


일반적으로 디지털 카메라나 스마트폰 카메라로 사진을 찍으면 JPEG 화상과 함게 기기 내의 중력센서를 이용한 회전 정보가 EXIF 태그 중 하나로서 담긴다.


이것은 때론 우리가 카메라를 세우거나 눕혀서 찍지만, 정작 우리 자신은 그대로 똑바로 선 체로 피사체를 보며 셔터를 누르는 데 생기는 각도차를 극복 하기 위해서다.

물론 어떤 사진 전문가들은 땅바닥에 길게 눕기도 하고 별의 별 자세로 찍기도 하니 좀 틀린 말일 수도 있지만.

회전정보가 뜻 하는 건..


어쨌든 문제는 이 정보로 찍힌 사진(이미지)를 보정 했을 때 의도 하지 않은 각도가 나온다면 왜 그런지, 제대로 회전정보가 들어있는지를 들여다 볼 일이 생긴다.

Orientation tag는 사실 정수 1부터 8값으로 저장 되며, 이 숫자의 의미는 전혀 각도와 연관성이 없다. 어떤 규칙도 없어보이기 때문에 그냥 1은 정상, 2는 90도 회전.. 등등 알아서 기억 해야 한다.

대체 누가 그런 걸 따진단 말인가? 대부분은 그럴 필요가 없겠다. 본래 사진이 어떻게 회전되어 찍혔는지 보려면 EXIF를 읽는 이미지 분석 프로그램으로 보거나, 아예 뷰어 프로그램들이 자동으로 회전을 해서 보여주기에 애초에 알 필요도 없다.

물론, 대개의 프로그램들은 1에서 8 값 대신 친절하게 해석 해서 보여준다. 아래처럼..

 90° CCW, 90° CW, 180..

이건 뭘 뜻 하는가? Counter Clockwise 90도.

일단 90도 반시계 방향 회전은 사진이 그렇게 찍혔다는 건가? 아니면 찍을 때 카메라를 그렇게 돌려서 찍었다는 건가? "니가 어제 찍은 사진의 피사체는 실은 물리적으로 반시계 방향 90도로 돌아있다"가 바로 90° CCW 이다. (복원은 그 반대로 표기된 각도만큼 돌리면 된다.)

그나마 알아먹기 쉽다. 하지만 이건?

 Right-Top, Top-Left, ..

적어도 나에겐 너무 어려운 회전정보의 해석


뭐가 Right고 뭐가 Top이란 거? http://sylvana.net/jpegcrop/exif_orientation.html 여기 설명이 잘 나온다. 적어도 자세히는 나온다. 난 필요할 때(디버깅 할 때)마다 검색 해서 반복적으로 보고 오랜 시간 뚫어져라 읽어보고나서야 알았다.

아래 그림을 보자.

우측 처럼 90도 시계방향으로 회전해서 찍은 게 Right-Top인데, 0th Row(이미지 픽셀의 첫번째 행)은 Right로, 0th Column(이미지 픽셀의 첫번째 컬럼)은 Top으로 움직였다..

그래, 우리가 그렇게 찍었다는 거다. (물론 찍힌 결과물을 보고 반대로 해석도 가능)

EXIF Orientation과 Smartphone

위 그림의 오른편처럼 찍으면 Right-Top이며 단어는 쉬우나 도무지 의미가 상상이 안가는 표기로 나오는 프로그램들이 절반은 된다.

한편, 디카와는 달리, 우리가 스마트폰으로 별 생각 없이 편하게 찍는(디바이스를 세로로 길게 세운) 대부분의 사진들의 회전 정보는 Right-Top 혹은 90° CCW 로 표현되며 정수 6이 EXIF Orientation Tag에 저장 된다.

그렇다면 캡처된 사진을 회전 보정 하지 않으면.. 어떻게 보이나?

스마트폰으로 찍을 때 물리적인 저장각도
오른손잡이라 치자
(본래 orientation tag는 8가지로, 기본 0도, 90도, 180도, 270도 x 미러링 혹은 flipping도 포함되므로)

이렇게도 해석된다. 니가 찍어서 저장된 이미지를 제대로 보려면, 윗쪽(0th Row)이 오른쪽(Right)이 되게하고, 왼쪽(0th Column)은 위(Top)가 되게 하면.. 짜자잔.

스마트폰이 아닌 디지털 카메라를 기준으로 편하게 찍는 자세, 바로 첫번째 그림에서 좌측과 같이 찍는 경우는 Top-Left로 표기 된다. 정수 1이 저장된다.

스마트폰으로 치자면, 폰을 반시계방향으로 90도 눕혀야, 일반적으로 가로가 긴 4:3, 16:9의 사진을 찍을 수 있고, 따로 보정 할 필요가 없는 사진이 되는 것이다.

그럼, 응용문제.. 아래 사진은 top, bottom, left, right 표기법으로 어떻게 저장되어 있을까?

EXIF Orientation flipping - Right Bottom
이거 맞추면 완벽! 2차원적으로 4방을 회전 시도 해서는 답이 안나온다,
그림에서 오른손잡이가 왼손잡이가 되었으므로 바로 반전이 필요하다.
정답은 Right-Bottom이다.

물리적으로 돌려놓고 시작하자


자, 결론.. 참말로 헷갈리다. 애초에 저 정보는 들고 다니면 안된다. 초장에 바로 잡아버리고(즉, 실제로 픽셀을 회전해서 덮어씀) EXIF orientation 정보는 없애버리는 게 향후 골이 안빠게지는 방법이라고 할 수 있겠다.

아.. 블로그 포스트로 쓰기 딱 좋은 주제인데 맥주 한잔 하면서 쓰다보니 정신이 혼미해지면서, 고만하고 싶으다.

댓글 없음:

댓글 쓰기

가장 많이 본 글