Windowsエクス​プローラーでJPGフ​ァイルを回転(左また​は右)しても、MAT​LABにその変更が反​映されないのはなぜで​すか?

WindowsエクスプローラーでJPGファイルを回転(左または右)しても、その変更はMATLABに反映されません。
この回転をMATLABに反映させる方法を教えてください。PNGファイルの場合、Windowsエクスプローラーで回転(左回転または右回転)する と、MATLABにも正しく反映されます。この問題はJPGファイルでのみ発生します。 

 Accepted Answer

MathWorks Support Team
MathWorks Support Team on 16 Apr 2026 at 0:00

0 votes

JPEG画像においては、Windows上での表示方法とMATLABにおける画像の読み込み仕様の違いが影響しております。
Windows エクスプローラーで JPEG 画像を回転した場合、画素データ自体を再エンコードすることなく、ロスレスで回転処理が行われます。
具体的には、画像データそのものを変更するのではなく、ファイルのメタデータに含まれる EXIF の Orientation タグを更新することで、表示上の向きを制御しております。
一方で、PNG ファイルには EXIF Orientation タグが存在しないため、Windows エクスプローラーで回転操作を行った場合には、実際の画素データが直接変換されます。
そのため、PNG 画像では MATLAB 上でも回転が反映された状態で表示されます。
MATLABは、画像ファイルに格納されている生の画素データを読み込む仕様となっており、既定では EXIF Orientation タグは自動適用されません。
このため、JPEG 画像では EXIF により向きが指定されている場合でも、MATLAB 上では回転されていない状態で表示されます。
本件につきましては、imread の AutoOrient 名前と値の引数を使用することで対応が可能です。
以下のように指定いただくことで、EXIF Orientation タグを読み取り、対応する回転や反転処理を適用した上で画像を読み込むことができます。
imread('image.jpg', 'AutoOrient', true);
imread のドキュメントについては、こちらをご覧ください: imread

More Answers (0)

Products

Release

R2024b

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!