Skip to content

画像のEXIFタグを考慮して写真を回転するには

License

Notifications You must be signed in to change notification settings

miyako/4d-plugin-rotate-image

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 

Repository files navigation

version platform license downloads

4d-plugin-rotate-image

画像のEXIFタグを考慮して写真を回転するには

概要

スマートフォンで撮影した写真は,EXIFタグのorientationにより,90°の回転がかけられていることがあります。

参考: EXIFタグの検証にはexiftoolが便利です。

向きを調べるには

exiftool -Orientation -n image.jpg

向きを変えるには

exiftool -Orientation=8 -n image.jpg

向きはGET PICTURE METADATAでGETすることができます。残念ながらSETすることはできません。

var $orientation : Integer
GET PICTURE METADATA($image; TIFF orientation; $orientation)

問題点

EXIFタグで向きが設定された画像をREAD PICTURE FILEでピクチャに取り込んだ場合,orientationは考慮されず,標準(0)の向きで画像が表示されます。これは撮影者が意図した向きではないかもしれません。

前述したようにEXIFタグを確認することはできますが,画像を補正するために回転する方法がありません。

SVGのtransformで回転させることもできますが,アフィン変換による処理になるため,画素数が多い写真の回転はそこそこ時間がかかります。

90°または270°の回転さえできれば良いことを考えると,もっとシンプルな方法が理想的です。

プラグイン

内部的にOpenCVcv::rotateをコールするだけの簡単なプラグインです。

定数

  • ROTATE_90_CLOCKWISE (90)
  • ROTATE_180 (180)
  • ROTATE_90_COUNTERCLOCKWISE (279)
  • ROTATE_0 (0)
status:=Rotate image(image; rotate; format)

例題

フォームを表示すると画像が縦向きに表示されます。Finderでは横向きに表示される写真です。4DはEXIFの向きを考慮していないことがわかります。

finder

4D

0°の回転を適用すると,EXIFタグで指定されている本来の向きになります。

0

追記

CONVERT PICTUREで別の(EXIFタグをサポートしていない)画像形式に変換すれば,0°の回転を適用するのと同じ結果が得られるのでは・・・

somehow these (affine transform rotation) didn't work as expected:

About

画像のEXIFタグを考慮して写真を回転するには

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages