フッターコンテンツにスキップ
PYTHONヘルプ

Imageio Python(開発者向けのしくみ)

Imageio は、アニメーション画像、ボリュームデータ、科学的フォーマットを含む広範な画像データの読み書き用に設計された多用途のPythonライブラリです。 シンプルで一貫したAPIを提供しており、画像データ処理タスクを行う開発者やデータサイエンティストにとって優れた選択肢です。 この記事では、Imageioを使って画像の読み書きを行う方法を検討し、その後IronPDFを使用してIron SoftwareからPDFドキュメントを生成する方法を見ていきます。 これらのパッケージは、アーカイブ目的でPDFドキュメントに画像を作成して保存するために使用できます。

Imageioを使用する理由

Imageioにはいくつかの利点があります:

  1. 広範なフォーマットサポート:PNG、JPEG、GIF、TIFFなど多くの画像フォーマットをサポートしています。
  2. 使いやすさ:APIは非常に理解しやすく、初心者でも簡単に使用できます。
  3. クロスプラットフォーム互換性:ImageioはWindows、macOS、Linuxを含む様々なオペレーティングシステムで動作します。
  4. 他のライブラリとの統合:NumPyやMatplotlibなどの他のPythonライブラリと共に使用でき、高度な画像処理や可視化が可能です。

Imageioを使い始める

インストール

pipを使用してImageioをインストールできます:

pip install imageio
pip install imageio
SHELL

基本的な使い方

ここでは、Imageioを使用して画像を読み書きする方法を示す簡単な例を紹介します:

import imageio.v3 as iio

# Read an image
image = iio.imread('image.jpg')
print(image.shape)  # Output: (329, 559, 3)

# Write the image to a new file
iio.imwrite('newimage.jpg', image)
import imageio.v3 as iio

# Read an image
image = iio.imread('image.jpg')
print(image.shape)  # Output: (329, 559, 3)

# Write the image to a new file
iio.imwrite('newimage.jpg', image)
PYTHON

この例では、Imageioが画像ファイルを読み込んでその形状を出力します。 その後、新しいファイルに画像を書き込みます。

出力

imageio python (開発者向けの動作は次のようになります): 図1 - Imageioを使用した画像の読み書き

高度な機能

Imageioはより複雑な画像処理タスク向けの多くの高度な機能を提供しています:

  1. 様々なソースからの読み込み:Imageioはファイル、URL、さらにはバイトストリームから画像を読み込むことができます。
  2. アニメーション画像:GIFのようなアニメーション画像の読み書きをサポートしています。
  3. ビデオ処理:Imageioはビデオファイルを扱うことができ、ビデオフレームの読み書きが可能です。
  4. ボリュームデータ:科学的応用に有用なボリュームデータの読み書きをサポートしています。

例: GIFの作成

ここでは、Imageioを使用して画像の一連の画像からGIFを作成する方法の例を紹介します:

import imageio.v2 as imageio
import numpy as np  # Import NumPy for numerical operations

# List of image file paths
image_files = ['img1.jpg', 'img2.jpg']  # Specify your image files here

# Read images and store them in a list
images = []
for file in image_files:
    images.append(imageio.imread(file))

# Save the images as a GIF
imageio.mimsave('output2.gif', images, duration=1.0)  # Duration is in seconds per frame
import imageio.v2 as imageio
import numpy as np  # Import NumPy for numerical operations

# List of image file paths
image_files = ['img1.jpg', 'img2.jpg']  # Specify your image files here

# Read images and store them in a list
images = []
for file in image_files:
    images.append(imageio.imread(file))

# Save the images as a GIF
imageio.mimsave('output2.gif', images, duration=1.0)  # Duration is in seconds per frame
PYTHON

この例では、Imageioが一連の画像を読み込み、アニメーションGIFを作成します。

imageio python (開発者向けの動作は次のようになります): 図2 - GIF出力

IronPDFの紹介

imageio python (開発者向けの動作は次のようになります): 図3 - IronPDF: Python PDFライブラリ

IronPDFは、HTML、CSS、画像、およびJavaScriptを使用してPDFを作成、編集、および署名するために設計された強力なPythonライブラリです。 低メモリ使用量で商業グレードのパフォーマンスを提供し、使いやすいインターフェイスを持っています。 主な機能には次のものがあります:

HTMLからPDFへの変換:

HTMLファイル、HTML文字列、およびURLをPDFに変換します。 たとえば、Chrome PDFレンダラーを使用してウェブページをPDFとしてレンダリングします。

クロスプラットフォームサポート:

IronPDFはPython 3+のために設計されており、Windows、Mac、Linux、またはクラウドプラットフォームでも動作します。
IronPDFは.NETJavaPythonNode.jsでも利用可能です。

編集と署名:

プロパティを設定し、パスワードと権限でセキュリティを追加し、PDFにデジタル署名を適用します。

ページテンプレートと設定:

PDFにヘッダー、フッター、ページ番号、および調整可能なマージンをカスタマイズできます。 さらに、カスタム用紙サイズおよびレスポンシブレイアウトをサポートします。

標準準拠:

PDF/AやPDF/UAを含むPDF標準に準拠し、UTF-8文字エンコーディングをサポートし、画像、CSS、フォントなどのアセットを管理します。

インストール

 pip install ironpdf

IronPDFおよびImageioを使用してPDFドキュメントを生成

前提条件

  1. コードエディタとしてVisual Studio Codeがインストールされていることを確認してください。
  2. Pythonバージョン3がインストールされています。

まず、スクリプトを追加するPythonファイルを作成してください。

Visual Studio Codeを開いてファイルImageioDemo.pyを作成します。

必要なライブラリをインストール:

pip install imageio
pip install ironpdf
pip install imageio
pip install ironpdf
SHELL

次に、IronPDFおよびImageioのPythonパッケージの使用法を示す下記のコードを追加します。

import imageio.v2 as imageio
import numpy as np
from ironpdf import * 

# Apply your license key
License.LicenseKey = "your-key"

# List of image file paths
image_files = ['img1.jpg', 'img2.jpg', 'img3.jpg']

# Read images and store them in a list
images = []
for file in image_files:
    images.append(imageio.imread(file))

# Save the images as a GIF
imageio.mimsave('output2.gif', images, duration=0.5)  # Duration is in seconds per frame

# Convert the GIF to PDF
ImageToPdfConverter.ImageToPdf("output2.gif").SaveAs("ironPdf-imageio.pdf")
import imageio.v2 as imageio
import numpy as np
from ironpdf import * 

# Apply your license key
License.LicenseKey = "your-key"

# List of image file paths
image_files = ['img1.jpg', 'img2.jpg', 'img3.jpg']

# Read images and store them in a list
images = []
for file in image_files:
    images.append(imageio.imread(file))

# Save the images as a GIF
imageio.mimsave('output2.gif', images, duration=0.5)  # Duration is in seconds per frame

# Convert the GIF to PDF
ImageToPdfConverter.ImageToPdf("output2.gif").SaveAs("ironPdf-imageio.pdf")
PYTHON

コードの説明

このスクリプトは、画像ファイルのリスト(img1.jpgimg2.jpgimg3.jpg)をGIFに変換し、そのGIFをPDFドキュメントに変換します。

  1. ライブラリのインポート

    • imageio.v2 as imageio:画像処理用にimageioライブラリをインポートします。
    • numpy as np:数値計算用にNumPyをインポートします(提供されているコードスニペットでは明示的に使用されていません)。
    • from ironpdf import *:IronPDFライブラリから必要な関数をインポートします。
  2. ライセンスキー

    • License.LicenseKey = "your-key":IronPDFライブラリのライセンスキーを設定します。 "your-key"を実際のライセンスキーに置き換えてください。
  3. 画像ファイルリスト

    • image_files = ['img1.jpg', 'img2.jpg', 'img3.jpg']:3つの画像ファイルへのパスを含むリストを定義します(img1.jpgimg2.jpgimg3.jpg)。
  4. 画像の読み込み

    • for file in image_files: images.append(imageio.imread(file))image_files内の各ファイルパスを反復処理し、imageio.imread()を使用して画像を読み込み、imagesリストに画像データを追加します。
  5. GIFの作成

    • imageio.mimsave('output2.gif', images, duration=0.5)imagesリストに保存された画像をGIFファイル'output2.gif'として保存します。 duration=0.5パラメータは、GIFの各フレームの持続時間(秒単位)を指定します。
  6. GIFをPDFに変換
    • ImageToPdfConverter.ImageToPdf("output2.gif").SaveAs("ironPdf-imageio.pdf"):前のステップで生成されたGIFファイル("output2.gif")をIronPDFのImageToPdfConverterを使用してPDFに変換し、"ironPdf-imageio.pdf"として保存します。

スクリプトはまず複数の画像ファイルを読み込み、それらを指定されたフレーム持続時間のGIFアニメーションにコンパイルし、その後IronPDFライブラリの機能を使用してこのGIFアニメーションをPDFドキュメントに変換します。 GIF画像は、以下に示すようにPDF内の画像のシリーズとして保存されています。

出力

imageio python (開発者向けの動作は次のようになります): 図4 - アニメーションGIF

PDF

imageio python (開発者向けの動作は次のようになります): 図5 - PDF出力

IronPDFライセンス

IronPDFはPythonのライセンスキーで動作します。 IronPDF for Pythonは、ユーザーが購入前にその広範な機能を確認できるように無料試用ライセンスキーを提供しています。

スクリプトを使用する前にライセンスキーを配置しIronPDFパッケージを使用します。

from ironpdf import * 
# Apply your license key
License.LicenseKey = "your-key"
from ironpdf import * 
# Apply your license key
License.LicenseKey = "your-key"
PYTHON

結論

ImageioはPythonにおける画像処理において強力で柔軟なライブラリです。 その使いやすさ、広範なフォーマットサポート、および高度な機能は、開発者やデータサイエンティストにとって価値あるツールです。 単純な画像操作から複雑な画像/ボリュームデータの処理に至るまで、Imageioはユーザーフレンドリーなパッケージで必要な機能を提供します。 IronPDFは、PDFドキュメントの作成、操作、変換のために設計された多用途なPythonライブラリです。 ゼロからのPDFの生成、HTMLや画像のPDFへの変換、PDFファイルの結合やセキュア化など、さまざまなドキュメント操作をサポートしています。 それはクロスプラットフォーム互換性を持ち、Pythonアプリケーションとシームレスに統合し、プログラムによるPDF関連のタスクの処理において強力なツールとなります。

これらのライブラリと共に、画像処理を行いアーカイブ目的で結果をPDF形式で保存できます。

カーティス・チャウ
テクニカルライター

Curtis Chauは、カールトン大学でコンピュータサイエンスの学士号を取得し、Node.js、TypeScript、JavaScript、およびReactに精通したフロントエンド開発を専門としています。直感的で美しいユーザーインターフェースを作成することに情熱を持ち、Curtisは現代のフレームワークを用いた開発や、構造の良い視覚的に魅力的なマニュアルの作成を楽しんでいます。

開発以外にも、CurtisはIoT(Internet of Things)への強い関心を持ち、ハードウェアとソフトウェアの統合方法を模索しています。余暇には、ゲームをしたりDiscordボットを作成したりして、技術に対する愛情と創造性を組み合わせています。