GNU/Linux >> Linux の 問題 >  >> Linux

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

<ブロック引用>

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

節約と輸出

GIMP でこれを行いたくないというあなたの意見は知っていますが、私の経験では、あなたが直面している問題 (画像内のピクセルを実際に変換するよりも EXIF 方向データを優先するソフトウェア) は、エクスポートと の違いに要約されます。 画像と保存 画像。

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

なんで?簡単。 JPEG 形式は損失の多い形式であるため、品質が 100% に設定されている場合でも、画像の回転などの単純な目的で JPEG を再保存すると、データが徐々に劣化します。対照的に、そのデータを EXIF 情報として保存することにより、生の JPEG 画像はそのまま残りますが、変換データは渡されるため、プロセスで画像を劣化させることなく回転した画像を見ることができます。

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

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

バッチ処理

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

  • エクシフトラン :デジタル カメラの JPEG 画像を変換するために使用されるツールで、次のことができます:
<ブロック引用>

jpegtran のように無損失回転を行うことができますが、jpegtran とは異なり、EXIF データを気にします。exif 方向タグをチェックして画像を自動的に回転させ、必要に応じて exif 情報 (画像の寸法、方向) を更新し、exifthumbnail も回転させます。一度に複数の画像を処理できます。

  • JHead :具体的には jhead を使用 -autorot で 次のように説明されているオプション:
<ブロック引用>

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

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

この別のスレッドで言及されている別のツールを次に示します:

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

最後に、おそらく ImageMagick convert を使用します -auto-orient のツール このオプションはあなたに適していますか?

<ブロック引用>

-auto-orient

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

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

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


私は通常 jpegtran を使用します 写真を回転するには:

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

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


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

それをスクリプト化するための全体的なアルゴリズム:

<オール>
  • 各ファイル。
  • exiftool * | grep Orientation から値を保存 .
  • exif を exiftran -ai * で削除 .
  • convert -rotate を使用 ステップ 2 の値を使用します。

  • Linux
    1. Exifデータに基づいて複数の写真やビデオの名前を変更するにはどうすればよいですか?

    2. Exif画像データで画像を整理/並べ替える方法は?

    3. システムディスクとデータディスクに関するFAQ

    1. OSWatcher を開始および停止する方法

    2. 生のバイナリデータを指定された幅と高さの画像として表示する方法は?

    3. 解析せずに WHOIS データ フィールドを取得しますか?

    1. awkを使用したデータの抽出と表示

    2. データ損失なしでPDFへのJpg?

    3. データを失うことなく LVM のサイズを変更する