100,000個のjpg画像のバッチサイズ変更に適したプログラムは何ですか?


21

プログラムをバッチモードで実行して、フォルダー内のすべてのファイルのサイズを変更し、新しいファイルを別のフォルダーに保存する必要があります。jpg品質を設定するオプションも素晴らしいでしょう。


2
findとImageMagicの組み合わせ。
mspasov

回答:


30

最も簡単で、安価で、最も技術的な選択肢について言及している人がいないことに少し驚いています。

オートメイター

まず、アプリケーションフォルダーにあるAutomatorを開きます。

次に、新しいワークフローの作成を選択します。

オートマトンワークフローを作成する

次に、ドラッグアンドドロップして次の手順をワークフローに追加します。

ワークフロー手順

これを実行すると、Automatorは次のことを行います。

  1. いくつかのファイルを選択するように求めるウィンドウをポップアップします(必要な数だけ)
  2. サイズ変更されたコピーを保存する場所を尋ねる別のウィンドウをポップアップします
  3. サイズを変更したコピーの大きさを尋ねます。固定サイズまたはパーセンテージを選択できます。すべての画像は、そのサイズまたはその割合でサイズ変更されます。

(「ワークフローの実行時にこのアクションを表示する」チェックボックスは、ワークフローを一時停止し、オプションを表示し、その後で変更できるようにすることを意味します)

これを行うと、Automatorは解約し、書き込みを行います。完了するとビープ音が鳴ります。

残念ながら、JPEG品質を選択するオプションはないようです。ただし、価格(無料)の場合、非常に便利です。


おそらく、Terminalを使用していない人にとっては、技術的ではないでしょう。おそらく最も簡単ですが、ここでの回答の中で最も安くはありません。SipsはMacのUnixビルドに含まれています。また、ImageMagickも無料です。
markhunte

3
@mototribeがOS Xを実行していると仮定するのが合理的であるため、Automatorがこの議論の目的のために無料であると仮定することは安全です。単一のフォルダである場合は、完了するまで一度に1つのフォルダにフィードし続けます。私はこのワークフローを何百もの画像に対して難なく実行しました。各イメージが一度に1つずつプッシュされるため、数千に対して機能しない理由はわかりませんが、私は信頼できますが、検証モードです。
-jaberg

うんAutomatorは完璧に仕事をしました。「画像のバッチサイズを変更するコマンドラインユーティリティを見つけた」と考えてここに来ました...時々、最も簡単な解決策も最適です。乾杯。
シルアンジェリン

19

ImageMagickを使用するのが好きです。sipsAutomator(同じサイズ変更方法を使用)は、私の意見ではシャープを追加しなくても、画像がぼやけすぎます。

Imagebrewはbrew install imagemagickHomebrewのインストール後、またはMacPortsのsudo port install imagemagickインストール後にインストールできます。次に、次のようなコマンドを実行します。

mogrify -filter lanczos2 -resize '500x500>' -format jpg -quality 90 -path /tmp/ *.jpg

500x500>500x500pxに適合するように、500pxよりも広いまたは高い画像を作成します。500x常に幅を500ピクセルに変更し、500x500^すべての画像を少なくとも500x500ピクセルにします。ファイルをインプレースで変更-path /tmp/する/tmp/代わりに、出力ファイルを保存します。

Lanczos2または、2ローブのLanczosはに非常に似ていCatromます。LanczosLanczos3)と比較すると、シャープさがわずかに少なく、リンギングアーティファクトが少なく、モアレパターンが多く生成されます。Triangle私の意見では、画像を小さくするためのデフォルトのフィルターはです。

-quality 100は約2倍のファイル-quality 95を作成します-quality 88

詳しくは:

http://www.imagemagick.org/Usage/resize/
http://www.imagemagick.org/Usage/filter/
http://lri.me/shell1.txt

以下を使用する同様のコマンドを次に示しますsips

for f in *.jpg; do sips -Z 500 -s format jpeg -s formatOptions 80 "$f" /tmp/; done

-Z 500500x500>ImageMagickのようなものです。

他の人の画像が100,000枚未満の場合は、プレビューも使用できます。

プレビューではsipsandおよびAutomatorと同じサイズ変更方法を使用していましたが、10.7以降は別の方法を使用しています。私はImageMagickの方が好きLanczos2です。

さまざまなオプションの比較をhttp://19a5b0.s3-website-us-west-2.amazonaws.com/imagemagick-osx-resizing/index.htmlにアップロードしました。


1
使用するように警告しますmogrify。これにより、ファイルがその場で変換され、元のファイルが上書きされます。何か問題が発生した場合は、ファイルが失われています!より良い使用convert(ImageMagickからも)。
カートPfeifle

1
@KurtPfeifle -pathオプションを指定した場合は(convert現在はありません)指定しません。

あなたがスピードを求めるならsips、多分良い選択です。1,000個のJPGを使用したクイックテストでは、〜5 MBを800px幅にサイズ変更すると、〜1分かかりました。とsipsと〜8分。with mogrify(クアッドコアでGNU Parallelを使用して、ディスクバッファーをパージ)。
ステファンシュミット14年

13

ImageMagickはコマンドラインインターフェイスプログラムであり、この目的のために作成されました。ImageMagickの使用とインストールは恐ろしいことがありますが、この画像操作パッケージは、これまで出会った中で最も強力です。ソースからのインストールはネイティブOS Xユーザーにとっては面倒な場合があるため、Homebrewを使用することをお勧めします。

Homebrewを使用してImageMagickをインストールするには、ターミナルでこのonelinerを実行します。

ruby -e "$(curl -fsSL https://raw.github.com/mxcl/homebrew/go)"

Homebrewがインストールされました。インストール後にインストーラーの提案に従うのが賢明です。今、私たちは使用してImageMagickのインストールbrew

brew install imagemagick

ImageMagickがインストールされ、そのconvertプログラムを目的に使用できます。大きなjpg画像を小さなpng画像に変換するには、実行できます

convert input.jpg -geometry 800x600 output.png

「フォルダ内のすべてのファイルのサイズを変更し、それらを別のフォルダに保存する方法」という質問に答えるには、次のスクリプトを実行できます。

# create output dir
mkdir -p "../resized"

# Convert all .jpg files in the current folder
for image in *.jpg; do
    convert $x -geometry 800x600 resized/$x
done

ImageMagickは100を超えるさまざまな画像形式を変換でき、Photoshopで実行できるほとんどすべてのトリックはImageMagickで実行できます。


おかげで、それは私が最終的に使用したものです-しかし、私はDrupalに画像をインポートしているので、Drupalにインストールしました。
uwe

@the_karel、前回の投稿を強化しました。気を悪くしないで下さい。
いとこコカイン

7

数人がImageMagickについて言及しています。レシピを次に示します。簡単にするために、すべてのファイルが1つのフォルダーにあると仮定します(フォルダーには他に何も含まれていない)。ターミナルウィンドウを開き、このフォルダーにcdしてから実行します

mkdir ../resized
for x in *.jpg; do convert -geometry 800x600 $x ../resized/$x

800x600を任意のサイズに置き換えます。

利点には、ImageMagickの柔軟性が非常に高いことが含まconvertれます。たとえば、ターゲットイメージにさまざまな品質設定を選択したり、パーセント単位でサイズ変更オプションを設定したりできます。または、を使用することもできます-geometry 800x800。この場合、アスペクト比は保持されますが、幅と高さの最大値は800ピクセルになります。

欠点は明らかなものです。コマンドラインにある程度精通していることと、必要なconvert設定のコマンドラインオプションを使いこなす意思が必要です。これは気の弱い人のための仕事ではありません。


4

2番目のGraphicConverterです。私は16年間登録ユーザーです。その主な目的は、バッチ処理の画像編集であり、カスタムワークフローを設計して保存するための優れたユーザーインターフェイスを備えています。

Automatorと組み合わせて使用​​することもできますが、おそらく必要ありません。

以下に、GraphicConverterのページからの画像編集機能のバッチ処理を説明する情報を示します

追加機能を使用したバッチ変換

GraphicConverterは、選択した画像に適用される反復タスクを完全に自動化する高度なバッチ処理を提供します。

  • 5つまたは5,000の画像ファイルがあるかどうかに関係なく、選択したすべてのソース画像を簡単かつ迅速に新しい形式に変換します。変換のタイプを定義し、詳細を設定するだけです
  • 変換プロセス中に、回転、サイズ変更、解像度の変更など、最大60個の追加バッチ機能を適用できます。
  • 画像ファイルをインターネットに配置するときに互換性の問題がある場合、ドキュメントがアップロードされる前にMac OS Ressourceforkの削除を自動化する
  • インターネットで公開するためのカタログをHTML形式で作成し、個々の要件に合わせて色、サイズなどを調整します(例を参照)
  • 特別な基準に従って選択したドキュメントの名前をすばやく簡単に変更します
  • 写真を結合する(QuickTime VRなど)
  • IPTC情報をさまざまなドキュメント形式に挿入または抽出します
  • などなど...

ここに画像の説明を入力してください


4

これは、もう1つのシンプルでクリーンで効果的なバッチイメージサイズ変更スクリプトです。グラフィックスとさまざまな解像度を頻繁に扱う場合は、このスクリプトを使用して、時々使用するためにさまざまな値で保存できます。

このtarget_width 120の値をニーズに合わせて変更し、スクリプトを保存してください。次に、保存したスクリプトファイルに画像をドラッグして、画像のサイズ変更を開始します。


スクリプトエディターを開き、次の新しいスクリプトを作成します。

-- save in Script Editor as Application
-- drag files to its icon in Finder

on open some_items
  repeat with this_item in some_items
    try
      rescale_and_save(this_item)
    end try
  end repeat
end open


to rescale_and_save(this_item)
  tell application "Image Events"
    launch
    set the target_width to 120
    -- open the image file
    set this_image to open this_item

    set typ to this_image's file type

    copy dimensions of this_image to {current_width, current_height}
    if current_width is greater than current_height then
      scale this_image to size target_width
    else
      -- figure out new height
      -- y2 = (y1 * x2) / x1
      set the new_height to (current_height * target_width) / current_width
      scale this_image to size new_height
    end if

    tell application "Finder" to set new_item to ¬
    (container of this_item as string) & "scaled." & (name of this_item)
    save this_image in new_item as typ

  end tell
end rescale_and_save

元のソース


3

プレビューは、たまにサイズ変更を行うのに適したソリューションです。ImageMagic(コマンドラインユーティリティ)、プレビュー、またはAutomatorなどに加えて、その他の便利な無料オプションもあります。

ただし、これが仕事の一部であり、真の柔軟性が必要な場合は、特別な目的のアプリケーションを使用すると時間を大幅に節約でき、より多くの機会を提供できます。多くのユーザーは、その優れた柔軟性と利便性のために、バッチ画像リサイザーResize Sense(http://veprit.com/resizesense)を選択しました。

免責事項:私は開発者です。リサイズセンスを自分で判断した方が良いでしょう。製品のWebサイトの紹介ビデオでは、Resize Senseの特別な点について説明しています。無料のデモ版があります。



1

私は通常、すべての写真をiPhotoにインポートしてから、さまざまなサイズにエクスポートします。私は300枚ほどの画像のバッチでそれを行いましたが、あなたが望んでいる規模では決してしません。それでも、それはオプションかもしれません。


1

Apple Apertureについては誰も言及していません。

決して安価ではありませんが、他にも便利なものがたくさんあります。それは基本的にiPhotoを置き換え、次にいくつかを置き換えます。写真家が一般的にPhotoshopを使用するものの95%を実行します。(テキストは燃え上がりません。:-)

しかし、Apertureが提供する他のことを必要としない限り、ImageMagickアプローチ(コマンドラインプログラムのダウンロード、インストール、実行に不安がない場合)と、@ markhunteの主張にもかかわらず、Automatorアプローチの両方を無料で使用します。 。


-1

ワイン(およびXQuartz)とIrfanViewを使用します。もちろん、コマンドラインからimagemagickを使用することもできます。ワインとimagemagickにはHomebrewをお勧めします。

OS Xでのワインのirfanview


私はPCで10年以上Irfanviewを使ってきましたが、大好きです。しかし、彼らはMac版を持っていませんか?
-uwe

1
ワインの下でIrFranViewを実行しているのではないかと思う。Wineでは、他のオペレーティングシステムでWindowsソフトウェアを実行できます。Wineを使用すると、これらのアプリケーションをWindowsと同じようにインストールして実行できます。スクリーンショットは、PCウィンドウGUIを備えたMacタイプのウィンドウ(上部のボタン)を明確に示しています
-markhunte

5
WindowsアプリケーションでWineを使用することは、ネイティブに実行できることに対しては本当にやり過ぎです。
マッテオ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.