これは、Ubuntu Online、Fedora Online、Windows オンライン エミュレーター、MAC OS オンライン エミュレーターなどの複数の無料オンライン ワークステーションの XNUMX つを使用して、OnWorks 無料ホスティング プロバイダーで実行できるコマンド jpegtran です。
プログラム:
NAME
jpegtran - JPEG ファイルのロスレス変換
SYNOPSIS
jpegtran [ オプション ] [ ファイル名 ]
DESCRIPTION
jpegtran JPEG ファイルのさまざまな便利な変換を実行します。 翻訳できるのは、
JPEG の XNUMX つのバリアントから別のバリアントへのコード化された表現 (たとえば、ベースライン JPEG から)
プログレッシブ JPEG に、またはその逆に。 画像のいくつかの再配置も実行できます
たとえば、回転によって画像を横長形式から縦長形式に変換するなどのデータです。
jpegtran 完全に圧縮されたデータ (DCT 係数) を再配置することによって機能します。
画像をデコードしています。 したがって、その変換はロスレスです。画像はありません。
劣化はまったくありませんが、使用した場合はそうではありません jpeg 続い cjpeg 〜へ
同じ変換を実行します。 しかし、それと同じように、 jpegtran 非可逆実行ができない
画質変更などの操作を行います。
jpegtran 指定された JPEG/JFIF ファイルを読み取るか、ファイルに名前が指定されていない場合は標準入力を読み取ります。
標準出力に JPEG/JFIF ファイルを生成します。
OPTIONS
すべてのスイッチ名は省略できます。 例えば、 -最適化 書かれるかもしれません -選択する or -o.
大文字と小文字は同等です。 イギリスの綴りも受け入れられます (例:
-最適化)、ただし、簡潔にするために、これらについては以下で説明しません。
出力ファイルで使用されるコード化された JPEG 表現を指定するには、 jpegtran を受け入れる
によって認識されるスイッチのサブセット cjpeg:
-最適化
エントロピーエンコーディングパラメータの最適化を実行します。
-プログレッシブ
プログレッシブJPEGファイルを作成します。
-再起動 N
N MCU行ごと、または「B」が
番号に添付されています。
-算術
算術符号化を使用します。
-スキャン file
指定されたテキストファイルで指定されたスキャンスクリプトを使用します。
見る cjpegこれらのスイッチの詳細については、(1) を参照してください。 これらのいずれも指定しない場合
スイッチをオンにすると、プレーンなベースライン JPEG 出力ファイルが得られます。 画質設定などは
入力ファイルによって決定されます。
次のいずれかのスイッチを指定すると、画像をロスレスに変換できます。
-フリップ 水平な
水平方向(左右)に鏡像します。
-フリップ 垂直
垂直方向(上下)に鏡像します。
-回転 90
画像を時計回りに 90 度回転します。
-回転 180
画像を 180 度回転します。
-回転 270
画像を時計回りに 270 度 (または反時計回りに 90 度) 回転します。
-転置
画像を転置します (UL から LR 軸全体)。
-横方向
横転置 (UR から LL 軸にわたる)。
転置変換には、画像の寸法に関する制限はありません。 もう一つは
画像の寸法が次の倍数でない場合、変換はかなり奇妙に動作します。
iMCU サイズ (通常は 8 または 16 ピクセル)、DCT の完全なブロックのみを変換できるため
必要な方法で係数データを取得します。
jpegtran奇数サイズの画像を変換するときのデフォルトの動作は、保存されるように設計されています。
変換セットの正確な可逆性と数学的一貫性。 述べたように、
transpose は画像領域全体を反転できます。 水平ミラーリングにより部分的な部分が残ります
右端の iMCU 列はそのままですが、画像のすべての行を反転できます。
同様に、垂直ミラーリングでは、下端の部分的な iMCU 行はそのまま残ります。
ただし、すべての列を反転することはできます。 他の変換は、次のシーケンスとして構築できます。
転置および反転操作。 一貫性を保つために、エッジピクセルに対するアクションが定義されています
対応する転置および反転シーケンスの最終結果と同じになるようにします。
実際に使用するには、変換不可能なエッジ ピクセルを破棄することを選択することをお勧めします。
変換された画像の右端および/または下端に沿って奇妙な外観のストリップがある。
これを行うには、 トリム スイッチ:
トリム 変形不可能なエッジブロックを削除します。
明らかに、 トリム 可逆性はないので厳密に言えば
jpegtran このスイッチを使用するとロスレスではありません。 また、期待される数学的
変換間の等価性はもはや維持されません。 例えば、 -腐敗 270
トリム 下端のみをトリミングしますが、 -腐敗 90 トリム 続い -腐敗 180 トリム
両端をトリミングします。
-完全
完全な変換のみに興味がある場合は、 -完全 スイッチ。
これは〜をひき起こす jpegtran 変換が不完全な場合は、エラーが発生して失敗します。
たとえば、次のようにしたいかもしれません
(jpegtran -腐敗 90 -完全 foo.jpg || jpeg foo.jpg | pnmflip -r90 | cjpeg)
可能であれば完全な回転を実行し、そうでない場合は近似回転を実行します。
-作物 WxH + X + Y
点から開始して、幅 W、高さ H の長方形領域に画像をトリミングします。
X、Y。 ロスレス クロップ機能は、特定の画像領域の外側のデータを破棄しますが、
内部のものをロスなく保存します。 回転および反転変換と同様、ロスレス
クロップは現在の JPEG 形式によって制限されています。 の左上隅
選択した領域は iMCU 境界上にある必要があります。 そうでない場合は、黙って行われます
最も近い iMCU 境界まで上および/または左に移動 (右下隅は
変更なし。)
厳密にはロスレスではない他の変換スイッチは次のとおりです。
-グレースケール
グレースケール出力を強制します。
このオプションは、入力画像が YCbCr (つまり、
標準カラー JPEG)、グレースケール JPEG ファイルになります。 輝度チャンネルは
正確に保存されるため、これはグレースケールに縮小する方法よりも優れた方法です。
解凍、変換、再圧縮。 このスイッチは特に便利です
誤ってカラー JPEG としてエンコードされたモノクロ画像を修正するため。 (の
このような場合、ほぼ空のクロマ チャネルを削除することでスペースを節約できます。
大きくはなりません。 ただし、グレースケール JPEG のデコード時間は大幅に短くなります。
カラー JPEG の場合よりも異なります。)
jpegtran また、「追加の」マーカーの処理を制御するこれらのスイッチも認識します。
コメントブロックとして:
-コピー なし
ソース ファイルから余分なマーカーをコピーしないでください。 この設定では、すべてのコメントが非表示になります。
ソースファイルに存在するその他の超過手荷物。
-コピー 注釈
コメントマーカーのみをコピーします。 この設定ではソース ファイルからコメントがコピーされますが、
画像表示に不要なその他のデータは破棄されます。
-コピー を
余分なマーカーをすべてコピーします。 この設定では、
JFIF サムネイル、Exif データ、Photoshop 設定などのソース ファイル。 一部では
ファイルの場合、これらの追加のマーカーはサイズが大きくなる可能性があります。
デフォルトの動作は次のとおりです -コピー 注釈。 (注: IJG リリース v6 および v6a では、 jpegtran
常に次と同等のことを行いました -コピー なし.)
jpegtran によって認識される追加のスイッチは次のとおりです。
-最大メモリ N
大きな画像の処理に使用するメモリ量の制限を設定します。 値は
数千バイト、または「M」が数字に付加されている場合は数百万バイト。 にとって
例、 -最大 4m 4000000バイトを選択します。 より多くのスペースが必要な場合は、一時ファイル
使用されます。
-outfile 名
出力画像を標準出力ではなく、指定されたファイルに送信します。
-詳細
デバッグ印刷を有効にします。 もっと -vはより多くの出力を提供します。 また、バージョン情報は
起動時に印刷されます。
-デバッグ と同じ -詳細.
-バージョン
バージョン情報を印刷して終了します。
例
この例では、ベースライン JPEG ファイルをプログレッシブ形式に変換します。
jpegtran -プログレッシブ foo.jpg > フープログ.jpg
この例では、画像を時計回りに 90 度回転し、回転できないエッジを破棄します。
ピクセル:
jpegtran -腐敗 90 トリム foo.jpg > foo90.jpg
ENVIRONMENT
JPEGEM
この環境変数が設定されている場合、その値がデフォルトのメモリ制限になります。 NS
値は、の説明に従って指定されます -最大メモリ スイッチ。 JPEGEM をオーバーライドします
プログラムがコンパイルされたときに指定されたデフォルト値であり、それ自体はによってオーバーライドされます
明示的な -最大メモリ.
onworks.net サービスを使用してオンラインで jpegtran を使用する