跳過到頁腳內容
PYTHON 幫助

imageio python(開發人員如何工作)

Imageio是一個功能強大的 Python 庫,旨在讀取和寫入各種圖像數據,包括動畫圖像、體積數據和科學格式。 它提供了一個簡單且一致的 API,使其成為從事影像資料處理任務的開發人員和資料科學家的絕佳選擇。 在本文中,我們將探討如何使用Imageio讀取和寫入影像,之後我們也將探討Iron SoftwareIronPDF來產生 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是一個功能強大的 Python 庫,旨在利用 HTML、CSS、圖像和JavaScript創建、編輯和簽署 PDF。 它提供商業級的效能,同時佔用記憶體少,介面簡單易用。 主要特點包括:

HTML 轉 PDF:

將 HTML 檔案、HTML 字串和 URL 轉換為 PDF。 例如,使用 Chrome PDF 渲染器將網頁渲染為 PDF。

跨平台支援:

IronPDF專為 Python 3+ 設計,也可在 Windows、Mac、Linux 或雲端平台上運作。
IronPDF也提供.NETJavaPythonNode.js版本。

編輯和簽署:

設定屬性,使用密碼和權限添加安全性,並為您的 PDF 應用數位簽章。

頁面範本和設定:

您可以自訂 PDF 文件,包括新增頁首、頁尾、頁碼和可調整的頁邊距。 它還支援自訂紙張尺寸和響應式佈局。

標準符合性:

符合 PDF 標準,包括 PDF/A 和 PDF/UA,支援 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.jpg, img2.jpg, img3.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']: 定義一個包含三個影像檔案路徑的清單(img1.jpg, img2.jpg, img3.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 清單中的圖片儲存為名為 'output2.gif' 的 GIF 檔案。 duration=0.5 參數指定 GIF 中每一幀的持續時間(以秒為單位)。

6.將 GIF 轉換為 PDF:

  • ImageToPdfConverter.ImageToPdf("output2.gif").SaveAs("ironPdf-imageio.pdf"): 使用 IronPDF 的 ImageToPdfConverter 將上一個步驟產生的 GIF 檔案 ("output2.gif") 轉換為 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是一個功能強大的 Python 庫,旨在建立、操作和轉換 PDF 文件。 它支援從頭開始產生 PDF、將 HTML 和圖像轉換為 PDF 以及執行各種文件操作(如合併和保護 PDF 文件)等任務。 它具有跨平台相容性,並且可以與 Python 應用程式無縫集成,使其成為以程式設計方式處理 PDF 相關任務的強大工具。

結合這些庫,我們可以進行影像處理,並將結果以 PDF 格式儲存以進行存檔。

Curtis Chau
技術作家

Curtis Chau 擁有卡爾頓大學計算機科學學士學位,專注於前端開發,擅長於 Node.js、TypeScript、JavaScript 和 React。Curtis 熱衷於創建直觀且美觀的用戶界面,喜歡使用現代框架並打造結構良好、視覺吸引人的手冊。

除了開發之外,Curtis 對物聯網 (IoT) 有著濃厚的興趣,探索將硬體和軟體結合的創新方式。在閒暇時間,他喜愛遊戲並構建 Discord 機器人,結合科技與創意的樂趣。

Iron Support Team

We're online 24 hours, 5 days a week.
Chat
Email
Call Me