2

8〜12枚の画像をローカルフォルダに保存するスクリプトがあります。これらの画像は常にGIFです。その1つの特定のフォルダー内のすべての画像を1つの画像に結合するPythonスクリプトを探しています。結合された8〜12枚の画像は縮小する必要がありますが、画像の元の品質(解像度)も妥協したくありません(つまり、結合された画像を拡大すると、最初と同じように見えます)

私が現在これを行うことができる唯一の方法は、各画像をパワーポイントにコピーすることです。

これはPython(または他の言語、できればpython)で可能ですか?

スクリプトへの入力として、画像のみが保存されているパスを入力します(つまり、C:\ Documents and Settings \ user \ My Documents \ My Pictures \ BearImages)

編集:私はImageMagickをダウンロードし、PythonAPIとコマンドラインから使用しています。この単純なコマンドは、私が望んでいたものに対してうまく機能しました。montage "*.gif" -tile x4 -geometry +1+1 -background none combine.gif

4

4 に答える 4

1

画像を拡大できるようにしたい場合は、画像を拡大縮小する必要はありません。表示されているときにスケーリングを行うには、画像ビューアに依存する必要があります。これが、PowerPointが現在行っていることです。

入力画像はGIFであるため、画像に含まれる色を説明するパレットがすべて含まれています。画像のパレットがすべて同じでない場合は、組み合わせる前に24ビットカラーに変換する必要があります。これは、出力を別のGIFにすることはできないことを意味します。画質の多少の低下を許容できるかどうかに応じて、PNGまたはJPGが適切なオプションになります。

PILを使用して、画像を読み取り、結合して、結果を書き込むことができます。最終結果のサイズの新しい画像を作成し、小さい画像をそれぞれ別の部分にコピーする必要があります。

于 2012-07-06T19:38:37.083 に答える
0

PythonImagingLibraryをご覧くださいハンドブックには、ファイルを開いてそれらを組み合わせ、結果を保存する両方の例がいくつか含まれています

于 2012-07-06T19:03:59.120 に答える
0

画像操作部分をImageMagickにアウトソーシングすることをお勧めします。そこへの道の90%を取得するモンタージュコマンドがあります。いくつかのオプションとディレクトリ内のファイルの名前を渡すだけです。

于 2012-07-06T20:18:11.677 に答える
0

最も簡単な方法は、画像をnumpy行列に変換してから、すべてを格納するための新しい、はるかに大きなnumpy行列を作成することです。次に、np行列を画像に変換し直します。もちろん、それは巨大になるので、ダウンサンプリングすることをお勧めします。

于 2013-05-10T15:01:16.357 に答える