web-dev-qa-db-ja.com

EXIFデータに依存しない画像のスケーリングと回転?

スケーリングと回転にEXIFデータを使用せずに画像のスケーリングと回転を可能にするLinux用のシンプルな画像エディターのようなものはありますか?

これまでに [〜#〜] eog [〜#〜]Shotwell 、および [〜#〜] gimp [〜#〜] で、画像を回転すると、EXIFヘッダーに保存されます。これは欲しくない。

GIMPでそれができたとしても、JPEGファイルを処理するときに大量のマウスクリックが必要になるため、時間がかかりすぎます。

10
Jasmine Lognnes

スケーリングと回転にEXIFデータを使用せずに画像のスケーリングと回転を可能にするLinux用のシンプルな画像エディターのようなものはありますか?

保存とエクスポート

GIMPでこれを実際に実行したくないとおっしゃっていますが、私の経験では、発生している問題、つまり画像内のピクセルを実際に変換するよりもEXIF方向データを優先するソフトウェアは、画像のエクスポート画像の保存

これまで、世界中のすべての画像エディタは、単純な方向変換を処理するときに、実際にピクセルを変換/変更していました。画像編集プログラムがEXIFデータを使用して物理変換データを保存することを延期するのは比較的最近のことです。

どうして?簡単。 JPEG形式は不可逆形式であるため(品質が100%に設定されている場合でも)、画像の回転などの単純な目的でJPEGを保存すると、データが徐々に劣化します。対照的に、そのデータをEXIF情報として保存することにより、生のJPEG画像はそのまま残されますが、変換データが渡されるため、処理中に画像を劣化させることなく画像が回転していることがわかります。

ここで、エクスポートの概念が役立ちます。多くの画像編集プログラム GIMPなどで画像をエクスポートできます これは基本的に、画像データ自体を変更し、非画像編集ソフトウェアで使用できるように最適化することを意味します。

したがって、ローテーションなどのタスクのために画像データを明示的に変更する他のソフトウェアツールがあるかもしれませんが、それらをインストールして使用するのはやり過ぎかもしれません。代わりに、使用している画像編集ソフトウェアでエクスポート機能を試してみることをお勧めします。それがGIMP、Photoshop、または他のものであるかどうか。

バッチ処理

そうは言っても、GIMPがあなたのニーズに対していかに時間がかかりすぎるかについてあなたは言及します。正確なワークフローが何であるかは不明ですが、処理する必要がある可能性のあるJPEGで満たされたフォルダー/ディレクトリがある場合は、 この他の回答に記載されているツールを調査する :をお勧めします。

  • exiftran :デジタルカメラのJPEG画像を変換するために使用されるツールで、次のことができます。

Jpegtranのようにロスレス回転を実行できますが、jpegtranとは異なり、EXIFデータを考慮します。exif方向タグをチェックすることで画像を自動的に回転でき、必要に応じてexif情報(画像の寸法、方向)を更新し、exifサムネイルも回転します。 。一度に複数の画像を処理できます。

  • JHead :具体的にはjhead-autorotオプションとともに使用します。

Exifヘッダーの「Orientation」タグを使用して、画像が直立するように回転させます。プログラム「jpegtran」は、ローテーションを実行するために使用されます。このプログラムは、ほとんどのLinuxディストリビューションに存在します。 Windowsの場合は、そのコピーを入手する必要があります。回転後、Exifヘッダーの方向タグは「1」(通常の方向)に設定されます。 Exifサムネイルも回転します。寸法を含むExifヘッダーの他のフィールドは変更されませんが、JPEGの高さ/幅は調整されます。

この機能は、カメラに組み込まれている方向センサーを使用してExifヘッダーの方向フィールドを自動的に設定する新しいデジタルカメラで特に役立ちます。

これが この他のスレッド で言及されている別のツールです:

  • NConvert :NConvertは、Win32、Linux、DOS、OS/2、およびその他のプラットフォーム用のマルチフォーマットコマンドラインイメージコンバーターです。 。クイックスタートの詳細 ここにあるようです 。そして、nconvert-jpegtransオプションとともに使用すると、まさにあなたが探しているものであるように見えます。しかし、それは jpegtran と同じライブラリ/コア機能を使用しているのではないかと思います この他の回答 この質問ではお勧めですか?

最後に、おそらく ImageMagickconvertツールを -auto-orientオプション と一緒に使用するとうまくいくでしょうか?

-自動方向

画像の向きが表示に適しているように画像を調整します(つまり、左上の向き)。

このオペレーターは、EXIF画像プロファイル設定の「方向」を読み取ってリセットし、画像に対して適切な90度の回転を実行して、画像を正しく表示します。

このEXIFプロファイル設定は通常、デジタルカメラの重力センサーを使用して設定されますが、真下または真上で撮影された写真は適切な値を持たない場合があります。また、この設定をリセットせずに向きが「修正」された画像は、再度「修正」され、誤った結果になる可能性があります。 EXIFプロファイルが以前に削除されている場合、-auto-orient演算子は何もしません。

15
JakeGould

私は通常、写真を回転させるために jpegtran を使用します。

jpegtran -copy all -rotate 90 -outfile newimg.jpg oldimg.jpg

90は右に回転し、左には270を使用します(フリップには180を使用します)。

2
choroba

GIMPでエクスポートする場合、保存する直前にポップアップで[詳細]をクリックすると、EXIFとXMPを無効にできます。

スクリプトを作成するための全体的なアルゴリズム

  • ファイルごとに
  • exiftool * | grep Orientationから値を保存します
  • exiftran -ai *でexifを削除します
  • 手順2の値でconvert -rotateを使用します
2
d2xdt2

Exiftool を使用して、JPEG画像からEXIFデータを削除できます。

0
SPRBRN