ホームページ > バックエンド開発 > Python チュートリアル > Python で問題を重複させずに複数の画像を水平方向に結合する方法?

Python で問題を重複させずに複数の画像を水平方向に結合する方法?

Mary-Kate Olsen
リリース: 2024-10-25 08:23:02
オリジナル
423 人が閲覧しました

How to Combine Multiple Images Horizontally in Python Without Overlapping Issues?

Python で画像を水平方向に結合する

この記事では、Python で複数の JPEG 画像を水平方向に結合する問題について説明します。

問題:

ユーザーは同じ寸法 (148 x 95) の 3 つの画像を持っており、提供されたコードを使用してそれらを水平方向に結合しようとします。ただし、出力には、前のサブイメージに重なる余分な部分イメージが含まれています。

解決策:

この問題を解決するには、次の修正コードを利用できます。

<code class="python">import sys
from PIL import Image

images = [Image.open(x) for x in ['Test1.jpg', 'Test2.jpg', 'Test3.jpg']]
widths, heights = zip(*(i.size for i in images))

total_width = sum(widths)
max_height = max(heights)

new_im = Image.new('RGB', (total_width, max_height))

x_offset = 0
for im in images:
    new_im.paste(im, (x_offset, 0))
    x_offset += im.size[0]

new_im.save('combined_horizontally.jpg')</code>
ログイン後にコピー

このコードは次のことを実行します。

  • 入力画像を開き、その幅と高さを決定します。
  • 結合された画像の合計幅と最大高さを計算します。
  • 計算された寸法で新しい画像を作成します。
  • 各入力画像を適切なオフセットを使用して新しい画像に水平方向に貼り付けます。
  • 結合された画像を Combined_horizo​​ntally.jpg として保存します。

追加の考慮事項:

  • コードは画像のサイズを動的に決定し、さまざまなサイズの画像を処理できるようにします。
  • 寸法を 1 行で指定するため、必要に応じて簡単に調整できます。
  • max 関数を使用して最大高さを決定することにより、結合された画像には、高さが異なる場合でもすべての入力画像が収まります。

以上がPython で問題を重複させずに複数の画像を水平方向に結合する方法?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート