tif画像をバッチ処理しますか?.tifから.jpegへの変換


41

少数の.tifファイルを大量に変換しようとしています。phatchは良い候補のように見えますが、Ubuntu 11.04を実行しています。彼らは.deb私のバージョンのために持っていないように見えます。

ファイルtifへのバッチ変換を迅速に行うために、Phatchの代替手段やその他の推奨事項がありjpegます。

フォトショップ(ala Wine)以外のソリューションを探しています。

回答:


75

簡単です。imagemagickをインストールします。

sudo apt-get install imagemagick

最も簡単な使用法は次のとおりです。

convert File.tif File.jpg

それは賢く、あなたのファイル拡張子によって行きます。

次に、バッチ変換を行うために、ループを使用します。

tifファイルがあるディレクトリにcdします。

その後:

for f in *.tif; do  echo "Converting $f"; convert "$f"  "$(basename "$f" .tif).jpg"; done

次のようにも読んでください:

for f in *.tif
do  
    echo "Converting $f" 
    convert "$f"  "$(basename "$f" .tif).jpg" 
done

これでうまくいくはずです!

また、すべてのファイルを変換し、新しいjpgの整合性を確認しrm *.tifたら、そのディレクトリで実行して、古い.tifファイルをすべて削除します。ただし、アスタリスクには注意してください。の後にスペースを追加しないでください。スペースを追加しない*と、ディレクトリ内のすべてのファイルが削除されます。

ヒント:これらの画像を保持するサブフォルダーのあるフォルダーがある場合。このforループを使用して、そのフォルダー内のすべての.TIFファイルを見つけることができます。

for f in $(find -name *.tif); do ...; done

これは印刷Converting filename.tifするのConverting filenameですか?
硝酸ナトリウム14年

1
@sodiumnitrateは「Converting filename.tif」と言います。basenameコマンドは、例えば、2つの引数を取りbasename file.tif .tif、「ファイル」離れtifファイル拡張子をストリッピングを返します。必要に応じて、同じbasenameコマンドで「filename.tifをfilename.jpgに変換」と言うようにループを変更できます。
マット14

findの最初の引数はパスである必要があるため、最後の行はfor f in $(find . -name *.tif); do ...; donecd前のディレクトリで編集したため)である必要があります。@Mattの回答を編集してみましたが、編集には何らかの理由で少なくとも6文字必要です。
mrtnmgs

ありがとう.....................................作業
バラジ

22

私はそれを自分でやろうとしているときにこの質問を見つけましたが、今後の参考のために次のようにすることもできます:

convert *.tiff -set filename: "%t" %[filename:].jpg

またはサブディレクトリに配置する

mkdir jpg
convert *.tiff -set filename: "%t" jpg/%[filename:].jpg

1
組み込みのファイル名処理が必要です。
beerbajay

これは、PNGファイルでもうまく機能しました。ただし、pdfの動作は異なります。
wdkrnls

この動作を確認したいのですが、これはUbuntu 64でImageMagick 6.6.9-7 2014-03-06 Q16(OpenMP)のバスエラーを報告しました。受け入れられた答えは問題なく動作します。
TFuto

警告の言葉:これはシステム全体(GNOME 3)を凍結させ、コンピューターをハードシャットダウンする必要がありました
0__

2

Imagemagickはそれらを変換できるはずです。それでよければ、それはコマンドラインプログラムのパッケージです。

その一部は変換です -

男変換:

変換-画像形式間の変換、画像のサイズ変更、ぼかし、切り抜き、斑点除去、ディザ、描画、反転、結合、再サンプリングなどを行います。


1
マットの答えは実際にはもっと便利です
-marto

1
うん。あなたはすぐそこにいます。
-chrisjlee

1

GUIアプリケーションが必要な場合は、通常のリポジトリからPhatchをインストールできます。Ubuntu Software Centerを開いて検索してください。私は11.04にはもういませんが、当時はインストールしていました。


1

上記の答え*.tifはtifの選択に使用されますが、現在の作業ディレクトリにファイルが多すぎる場合、これはエラーを返します。簡単な回避策は、Pythonスクリプトを使用してcwdの各ファイルを変換することです。

import glob, os

for c, i in enumerate(glob.glob('ecco_images/*')):
  print(' * converting', i)
  os.system('convert ' + i + ' ' + i.replace('.TIF','.jpg'))

for f in *.tifエラーは発生しませんが、エラーは発生しconvert *.tifます。
ムル

ああ、ありがとう@muru!*展開はOSレベルでも同じだと思っていましたが、修正できてうれしいです。
デュハイ

0

@Mattの回答に追加したいのは、サブフォルダーにファイルを保存したい場合は、以下を実行できるということです。

find -name *.tif | while read f; do echo "Converting $f"; convert "$f"  "${f%.*}".jpg; done

これは、ファイルパス/名前にスペースが含まれている場合の問題も処理します


0

バッチプロセスプラグインを使用したGIMP GUIソリューション

GIMP 2.8を使用してUbuntu 18.04で動作します


バッチプロセッサの入力ダイアログウィンドウ

バッチ処理入力ダイアログウィンドウ


バッチプロセッサ出力ダイアログウィンドウ

バッチプロセッサ出力ダイアログウィンドウ


インストール手順

1-現在のプラグインファイルをDBP-DavidのBatch Processorホームページからデスクトップにダウンロードします。Ubuntu 18.04でGimp 2.8を台無しにしたのは、私のために機能したファイルは dbpSrc-1-1-9.tgzでした

2-いくつかのGIMP開発ファイルを入手します。

sudo apt-get install libgimp2.0-dev gcc cpp g++

3-システムのソースコードディレクトリに切り替えます。

cd /usr/src/

4-デスクトップからプラグインを独自のソースコードディレクトリに抽出します。[username]を現在のユーザー名に置き換え、上記の手順1でダウンロードしたファイル名を使用します。

sudo tar -xvzf /home/[username]/Desktop/dbpSrc-1-1-9.tgz

5-プラグインのソースコードディレクトリに変更します。

cd dbp-1.1.9

6-プラグインをコンパイルします:

sudo make

7-プラグインをインストールします。

sudo make install

8-GIMPを起動すると、メニュー->フィルタ->バッチ処理でプラグインが見つかります。

GIMPバッチプロセス..メニューパス

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.