logo
|
Blog

    ๐Ÿ“ธ iOS VisionCamera์™€ EXIF Orientation

    ๊น€๋ณด๋žŒ's avatar
    ๊น€๋ณด๋žŒ
    Jul 19, 2025
    ๐Ÿ“ธ iOS VisionCamera์™€ EXIF Orientation
    Contents
    โœ… ์ด ์ฃผ์ œ๋ฅผ ๊ณต๋ถ€ํ•˜๊ฒŒ ๋œ ์ด์œ ๐Ÿ“ท iOS VisionCamera์˜ orientation ??๐Ÿงญ ์ „๋ฉด/ํ›„๋ฉด ์นด๋ฉ”๋ผ๋ณ„ ์˜ค๋ฆฌ์—”ํ…Œ์ด์…˜ ๊ฐ’์˜ ์ฐจ์ดโ— ํ›„๋ฉด(Rear) ์นด๋ฉ”๋ผโ— ์ „๋ฉด(Front, ์…€์นด) ์นด๋ฉ”๋ผ๐Ÿท๏ธ EXIF Orientation(1~8) ๊ฐ’์˜ ์˜๋ฏธ๐Ÿ’ก Orientation ๊ฐ’์ด ์™œ ํฌ๋กญ ๊ฒฐ๊ณผ์— ์˜ํ–ฅ์„ ๋ฏธ์น˜๋Š”๊ฐ€?๐Ÿ› ๏ธ ๋ฐฉ๋ฒ•โœ… ์ •๋ฆฌ

    ์•ฑ์—์„œ ์นด๋ฉ”๋ผ๋กœ ์‚ฌ์ง„์„ ์ฐ๊ณ  ํŠน์ • ์˜์—ญ๋งŒ ์ž˜๋ผ ๋ณด์—ฌ์ค˜์•ผ ํ•  ๋•Œ,
    โ€œ๊ธฐ๊ธฐ๋ฅผ ์„ธ๋กœ๋กœ ๋“ค๊ณ  ์ฐ์—ˆ๋Š”์ง€, ๊ฐ€๋กœ๋กœ ๋“ค๊ณ  ์ฐ์—ˆ๋Š”์ง€โ€
    ๊ทธ๋ฆฌ๊ณ  โ€œ์ด๋ฏธ์ง€๊ฐ€ ์‹ค์ œ๋กœ ์–ด๋–ป๊ฒŒ ์ €์žฅ๋˜๊ณ  ํ‘œ์‹œ๋˜๋Š”์ง€โ€๋Š”
    ์ƒ๊ฐ๋ณด๋‹ค ๊นŒ๋‹ค๋กœ์šด ์ฃผ์ œ๋‹ค.

    ํŠนํžˆ iOS, VisionCamera, ๊ทธ๋ฆฌ๊ณ  EXIF Orientation(์˜ค๋ฆฌ์—”ํ…Œ์ด์…˜) ๊ฐ’์˜ ๊ด€๊ณ„๋ฅผ ์ดํ•ดํ•˜์ง€ ๋ชปํ•˜๋ฉด
    โ€œ๋‚ด๊ฐ€ ๋ณธ ๋ฏธ๋ฆฌ๋ณด๊ธฐ์™€ ์‹ค์ œ ํฌ๋กญ๋œ ์ด๋ฏธ์ง€๊ฐ€ ์™œ ๋‹ค๋ฅธ์ง€?โ€
    ํ—ท๊ฐˆ๋ฆด ์ˆ˜๋ฐ–์— ์—†๋‹ค.


    โœ… ์ด ์ฃผ์ œ๋ฅผ ๊ณต๋ถ€ํ•˜๊ฒŒ ๋œ ์ด์œ 

    ์นด๋ฉ”๋ผ ์ดฌ์˜ ํ›„ ์‚ฌ์ง„์˜ ํŠน์ • ๋ถ€๋ถ„๋งŒ ํฌ๋กญํ•ด์„œ ๋ณด์—ฌ์ค˜์•ผ ํ•˜๋Š” ๊ธฐ๋Šฅ์„ ๋งŒ๋“ค๊ณ  ์žˆ์—ˆ๋‹ค.
    ํ™”๋ฉด ๋ฐฉํ–ฅ์€ ํ•ญ์ƒ ์„ธ๋กœ(PORTRAIT)๋กœ ๊ณ ์ •๋˜์–ด ์žˆ์—ˆ์ง€๋งŒ,
    ๊ธฐ๊ธฐ๋ฅผ ์„ธ๋กœ๋กœ ๋“ค๊ณ  ์ฐ์„ ๋•Œ์™€ ๊ฐ€๋กœ๋กœ ๋“ค๊ณ  ์ฐ์„ ๋•Œ
    ํฌ๋กญ๋œ ์ด๋ฏธ์ง€์˜ ์˜์—ญ์ด ์„œ๋กœ ๋‹ฌ๋ผ์ง€๋Š” ํ˜„์ƒ์„ ๊ฒฝํ—˜ํ–ˆ๋‹ค.

    ์ฒ˜์Œ์—” ๋‹จ์ˆœํžˆ ์›๋ณธ ์ด๋ฏธ์ง€์˜ width/height๊ฐ€ ๋‹ฌ๋ผ์ ธ์„œ ๊ทธ๋Ÿฐ ์ค„ ์•Œ์•˜๋‹ค.
    ํ•˜์ง€๋งŒ ์‹ค์ œ๋กœ๋Š” ๊ฐ€๋กœ๋กœ ์ฐ๋“ , ์„ธ๋กœ๋กœ ์ฐ๋“  width/height ๊ฐ’์€ ๋ณ€ํ•˜์ง€ ์•Š์•˜๋‹ค.
    ๊ทธ๋Ÿฐ๋ฐ๋„ ํฌ๋กญ ๊ฒฐ๊ณผ๊ฐ€ ๋‹ฌ๋ผ์ง€๋Š” ์ด์œ ๋Š”
    ๋ฐ”๋กœ ์ด๋ฏธ์ง€์˜ โ€œ์˜ค๋ฆฌ์—”ํ…Œ์ด์…˜(EXIF Orientation)โ€ ๊ฐ’ ๋•Œ๋ฌธ์ด์—ˆ๋‹ค.


    ๐Ÿ“ท iOS VisionCamera์˜ orientation ??

    VisionCamera์—์„œ takePhoto()๋ฅผ ํ˜ธ์ถœํ•˜๋ฉด
    photoData ๊ฐ์ฒด์—

    • orientation (์˜ˆ: 'portrait', 'landscape-left' ๋“ฑ)

    • metadata.Orientation (EXIF Orientation, 1~8 ์ˆซ์ž)
      ์ด ๋‘ ๊ฐ€์ง€ ์ •๋ณด๊ฐ€ ํฌํ•จ๋œ๋‹ค.

    ์ด ๊ฐ’๋“ค์€ ์ด๋ฏธ์ง€๊ฐ€ ์ €์žฅ๋  ๋•Œ์˜ ์„ผ์„œ/๊ธฐ๊ธฐ ๋ฐฉํ–ฅ๊ณผ ์‚ฌ์ง„์„ ๋ทฐ์–ด์—์„œ ์–ด๋–ป๊ฒŒ ํšŒ์ „ยท๋ฏธ๋Ÿฌ๋งํ•ด์„œ ๋ณด์—ฌ์ค˜์•ผ ํ•˜๋Š”์ง€ ๊ฒฐ์ •ํ•ด์ฃผ๋Š” ์ค‘์š”ํ•œ ์—ญํ• ์„ ํ•œ๋‹ค.


    ๐Ÿงญ ์ „๋ฉด/ํ›„๋ฉด ์นด๋ฉ”๋ผ๋ณ„ ์˜ค๋ฆฌ์—”ํ…Œ์ด์…˜ ๊ฐ’์˜ ์ฐจ์ด

    โ— ํ›„๋ฉด(Rear) ์นด๋ฉ”๋ผ

    • ์ผ๋ฐ˜์ ์œผ๋กœ

      • ๊ฐ€๋กœ(landscape)๋กœ ์ฐ์œผ๋ฉด:
        orientation: landscape-right (EXIF 1)

      • ์„ธ๋กœ(portrait)๋กœ ์ฐ์œผ๋ฉด:
        orientation: portrait (EXIF 6)

    • ์„ผ์„œ ๊ธฐ์ค€(landscape)์— ๋งž์ถฐ ์ €์žฅํ•˜๊ณ ,
      EXIF๋กœ ํšŒ์ „ ์ •๋ณด๋ฅผ ์ถ”๊ฐ€ํ•œ๋‹ค.

    โ— ์ „๋ฉด(Front, ์…€์นด) ์นด๋ฉ”๋ผ

    • ์—ฌ๊ธฐ์„œ ๋” ํ—ท๊ฐˆ๋ฆฌ๋Š” ์ƒํ™ฉ์ด ์ƒ๊ธด๋‹ค.

    • ์ „๋ฉด ์นด๋ฉ”๋ผ๋Š”

      • ๋ฏธ๋Ÿฌ(์ขŒ์šฐ๋ฐ˜์ „, ๊ฑฐ์šธ ํšจ๊ณผ)

      • ์„ผ์„œ ๋ฐฉํ–ฅ

      • ์†Œํ”„ํŠธ์›จ์–ด์˜ ์˜ค๋ฆฌ์—”ํ…Œ์ด์…˜ ๊ณ„์‚ฐ
        ์ด ๋ชจ๋‘ ํ•ฉ์ณ์ ธ์„œ
        ๊ธฐ๊ธฐ๋ฅผ ์„ธ๋กœ๋กœ ๋“ค๊ณ  ์…€์นด๋ฅผ ์ฐ์–ด๋„
        orientation์ด 'landscape-left'(EXIF 5 ๋“ฑ)๋กœ ๋‚˜์˜ค๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ๋‹ค.

    • ์ฆ‰, ๋‚ด๊ฐ€ ์ •๋ฉด ์„ธ๋กœ๋กœ ์ฐ์—ˆ๋Š”๋ฐ๋„ landscape๋กœ ๋‚˜์˜ค๋Š” ๊ฑด
      iOS ์ „๋ฉด ์นด๋ฉ”๋ผ์—์„œ ์ •์ƒ ๋™์ž‘์ด๋‹ค.


    ๐Ÿท๏ธ EXIF Orientation(1~8) ๊ฐ’์˜ ์˜๋ฏธ

    ๊ฐ’

    ์„ค๋ช…

    ํšŒ์ „/๋ฐ˜์ „

    1

    ์ •์ƒ(ํšŒ์ „ ์—†์Œ)

    0ยฐ

    3

    180๋„ ํšŒ์ „

    180ยฐ

    6

    90๋„ ํšŒ์ „ (์„ธ๋กœ)

    90ยฐ

    8

    270๋„ ํšŒ์ „ (์„ธ๋กœ)

    270ยฐ

    2

    ์ขŒ์šฐ๋ฐ˜์ „

    0ยฐ + ์ขŒ์šฐ ๋ฏธ๋Ÿฌ

    4

    180๋„ ํšŒ์ „ + ์ƒํ•˜๋ฐ˜์ „

    180ยฐ + ์ƒํ•˜ ๋ฏธ๋Ÿฌ

    5

    90๋„ ํšŒ์ „ + ์ขŒ์šฐ๋ฐ˜์ „(์…€์นด ๅคš)

    90ยฐ + ์ขŒ์šฐ ๋ฏธ๋Ÿฌ

    7

    270๋„ ํšŒ์ „ + ์ขŒ์šฐ๋ฐ˜์ „

    270ยฐ + ์ขŒ์šฐ ๋ฏธ๋Ÿฌ

    • ํ›„๋ฉด ์นด๋ฉ”๋ผ๋Š” ๋Œ€๋ถ€๋ถ„ 1, 3, 6, 8 ๊ฐ’์ด ๋‚˜์˜จ๋‹ค.

    • ์ „๋ฉด ์นด๋ฉ”๋ผ์—์„œ๋Š” 5, 6, 7 ๋“ฑ ๋ฏธ๋Ÿฌ ์กฐํ•ฉ์ด ์ž์ฃผ ๋“ฑ์žฅํ•œ๋‹ค.


    ๐Ÿ’ก Orientation ๊ฐ’์ด ์™œ ํฌ๋กญ ๊ฒฐ๊ณผ์— ์˜ํ–ฅ์„ ๋ฏธ์น˜๋Š”๊ฐ€?

    ์ด๋ฏธ์ง€๋Š” ์‹ค์ œ ์ €์žฅ๋œ ํ”ฝ์…€(width/height)์€ ๊ณ ์ •๋˜์–ด ์žˆ๋‹ค.
    ํ•˜์ง€๋งŒ EXIF Orientation ๊ฐ’์ด ๋ถ™์–ด ์žˆ์œผ๋ฉด
    ๊ฐค๋Ÿฌ๋ฆฌ/์ด๋ฏธ์ง€ ๋ทฐ์–ด์—์„œ๋Š” ์ด ๊ฐ’์— ๋”ฐ๋ผ ์ด๋ฏธ์ง€๋ฅผ ์ž๋™์œผ๋กœ ํšŒ์ „ ๋˜๋Š” ๋ฐ˜์ „ํ•ด์„œ ๋ณด์—ฌ์ค€๋‹ค.

    ๊ทธ๋Ÿฐ๋ฐ,
    ํฌ๋กญ ์—ฐ์‚ฐ์€ ๋Œ€๋ถ€๋ถ„ โ€œ์ด๋ฏธ์ง€์˜ ์‹ค์ œ ํ”ฝ์…€ ๊ธฐ์ค€โ€์œผ๋กœ๋งŒ ๋™์ž‘ํ•œ๋‹ค.
    ์ฆ‰, ์˜ˆ๋ฅผ ๋“ค์–ด

    • ์‚ฌ์šฉ์ž๋Š” ์„ธ๋กœ๋กœ ๋“ค๊ณ  ์…€์นด๋ฅผ ์ฐ์—ˆ๊ณ 

    • ํ”„๋ฆฌ๋ทฐ์—์„œ๋„ ์–ผ๊ตด์ด ์ค‘์•™์— ์ž˜ ๋ณด์˜€๋Š”๋ฐ

    • ์‹ค์ œ ์ €์žฅ๋œ ์ด๋ฏธ์ง€๋Š” ์„ผ์„œ(landscape ๊ธฐ์ค€)๋กœ ์ €์žฅ + EXIF orientation=6(90๋„ ํšŒ์ „)

    • ์ด ์ƒํƒœ์—์„œ โ€œ์ค‘์•™์„ ์ž˜๋ผ์•ผ๊ฒ ๋‹ค!โ€๊ณ 
      ํ”ฝ์…€ ๊ธฐ์ค€์œผ๋กœ ์ค‘์•™์„ ํฌ๋กญํ•˜๋ฉด,
      ์‚ฌ์šฉ์ž๊ฐ€ ์‹ค์ œ๋กœ ๊ธฐ๋Œ€ํ•œ ์–ผ๊ตด ์˜์—ญ์ด ์•„๋‹ˆ๋ผ
      ์‚ฌ์ง„์„ 90๋„ ๋Œ๋ ธ์„ ๋•Œ์˜ ์ค‘์•™ ์˜์—ญ(์—‰๋šฑํ•œ ๋ถ€๋ถ„)์ด ์ž˜๋ฆด ์ˆ˜ ์žˆ๋‹ค.

    ์‰ฝ๊ฒŒ ๋งํ•ด

    • EXIF orientation์„ ๋ฌด์‹œํ•˜๋ฉด โ€œ๋Œ๋ ค์„œ ์ž˜๋ผ์•ผ ํ•  ์ด๋ฏธ์ง€โ€๋ฅผ
      ๊ทธ๋ƒฅ ๋ˆ•ํ˜€๋†“๊ณ  ์ž˜๋ผ์„œ

      ์›ํ•˜๋Š” ๋ถ€๋ถ„์ด ์•„๋‹ˆ๋ผ ์—‰๋šฑํ•œ ๋ถ€๋ถ„์ด ๋‚˜์˜ฌ ์ˆ˜ ์žˆ๋‹ค.

    ๋”ฐ๋ผ์„œ, ์ •ํ™•ํžˆ ํ”„๋ฆฌ๋ทฐ์—์„œ ๋ณธ ์˜์—ญ์„ ์ž˜๋ผ๋‚ด๊ณ  ์‹ถ์œผ๋ฉด
    ์ด๋ฏธ์ง€์˜ EXIF orientation ๊ฐ’์— ๋”ฐ๋ผ
    ๋จผ์ € ์ด๋ฏธ์ง€๋ฅผ ํšŒ์ „/๋ฏธ๋Ÿฌ๋ง ๋ณด์ •ํ•œ ๋’ค์—
    ํฌ๋กญ ์—ฐ์‚ฐ์„ ํ•ด์•ผ ํ•œ๋‹ค.


    ๐Ÿ› ๏ธ ๋ฐฉ๋ฒ•

    ํฌ๋กญ ์—ฐ์‚ฐ ์ „์— EXIF Orientation ๊ฐ’์„ ์ฝ๊ณ ,
    ์ด๋ฏธ์ง€์— ๋งž๋Š” ํšŒ์ „/๋ฏธ๋Ÿฌ ๋ณด์ •์„ ๋จผ์ € ํ•ด์ค€ ๋‹ค์Œ
    ํฌ๋กญ์„ ํ•ด์•ผ
    ๋ชจ๋“  ์ƒํ™ฉ์—์„œ โ€œํ”„๋ฆฌ๋ทฐ์—์„œ ๋ณธ ๋ชจ์Šตโ€๊ณผ ๊ฐ™์€ ๊ฒฐ๊ณผ๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ๋‹ค.

    orientation ๋ณด์ • ์—†์ด ์ž๋ฅด๋ฉด
    ์˜ˆ์ƒ๊ณผ ๋‹ค๋ฅธ ์˜์—ญ์ด ์ž˜๋ฆด ๊ฐ€๋Šฅ์„ฑ์ด ๋†’๋‹ค.


    โœ… ์ •๋ฆฌ

    • iOS VisionCamera์˜ orientation ๊ฐ’(์ „๋ฉด/ํ›„๋ฉด)์€
      ์„ผ์„œ ๋ฐฉํ–ฅ, ๋ฏธ๋Ÿฌ ์—ฌ๋ถ€, ์†Œํ”„ํŠธ์›จ์–ด ํšŒ์ „ ๋ณด์ • ๋“ฑ์ด ๋ชจ๋‘ ํ•ฉ์ณ์ง„ ๊ฒฐ๊ณผ๋‹ค.

    • ์ „๋ฉด(์…€์นด) ์นด๋ฉ”๋ผ๋Š” orientation ๊ฐ’์ด ๋‚ด๊ฐ€ ๋“  ๊ธฐ๊ธฐ ๋ฐฉํ–ฅ๊ณผ ๋‹ค๋ฅผ ์ˆ˜ ์žˆ๋‹ค.

    • EXIF Orientation ๊ฐ’์— ๋”ฐ๋ผ
      ํฌ๋กญ ์œ„์น˜์™€ ๊ฒฐ๊ณผ๊ฐ€ ๋‹ฌ๋ผ์งˆ ์ˆ˜ ์žˆ์œผ๋‹ˆ
      ๋ฐ˜๋“œ์‹œ orientation ๋ณด์ • ํ›„ ํฌ๋กญํ•˜๋Š” ๊ฒƒ์ด ์•ˆ์ „ํ•˜๋‹ค.

    Share article
    Contents
    โœ… ์ด ์ฃผ์ œ๋ฅผ ๊ณต๋ถ€ํ•˜๊ฒŒ ๋œ ์ด์œ ๐Ÿ“ท iOS VisionCamera์˜ orientation ??๐Ÿงญ ์ „๋ฉด/ํ›„๋ฉด ์นด๋ฉ”๋ผ๋ณ„ ์˜ค๋ฆฌ์—”ํ…Œ์ด์…˜ ๊ฐ’์˜ ์ฐจ์ดโ— ํ›„๋ฉด(Rear) ์นด๋ฉ”๋ผโ— ์ „๋ฉด(Front, ์…€์นด) ์นด๋ฉ”๋ผ๐Ÿท๏ธ EXIF Orientation(1~8) ๊ฐ’์˜ ์˜๋ฏธ๐Ÿ’ก Orientation ๊ฐ’์ด ์™œ ํฌ๋กญ ๊ฒฐ๊ณผ์— ์˜ํ–ฅ์„ ๋ฏธ์น˜๋Š”๊ฐ€?๐Ÿ› ๏ธ ๋ฐฉ๋ฒ•โœ… ์ •๋ฆฌ

    ๊น€๋ณด๋žŒ | 930802qhfka@gmail.com

    RSSยทPowered by Inblog