PYTHON 幫助

scikit-image Python(工作原理:開發者指南)

Scikit-image 是一個專為 Python 中的影像處理設計的演算法集合。 這是免費提供且不受限制的,擁有來自活躍的志願者社群經過同行評審的高品質代碼。 Scikit-image 專案於 2009 年在 Google 推出,作為 Google Summer Code 計畫的一部分,由 Stefan van der Walt 和其他 Scikit-image 貢獻者指導。 它旨在創建一個用於圖像處理的 Python 庫,使其易於使用、高效,並可擴展至學術和工業應用。 在本文中,我們將學習 Scikit-image Python 影像處理庫和 IronSoftware 的 PDF 生成庫,名為 IronPDF

入門

要了解 Scikit-image,請查看其官方網站。此外,Data Carpentry 提供了一個很棒的課程,講授如何使用 Scikit 在 Python 中進行圖像處理。

通过 pip 安装

  • 確保已有安裝 Python(至少 3.10 版本)。
  • 打開你的終端機或命令提示字元。

    • 更新 pip:
python -m pip install -U pip
py
PYTHON
  • 透過 pip 或 scikit-image conda 安裝 scikit-image:
python -m pip install -U scikit-image
py
PYTHON
  • 要訪問演示數據集,請使用:
python -m pip install -U scikit-image[data]
py
PYTHON
  • 若需額外科學套件,包括平行處理功能:
python -m pip install -U scikit-image[optional]
py
PYTHON

基本範例

import skimage.io
import matplotlib.pyplot as plt
image = skimage.io.imread(fname='land.jpg')
plt.imshow(image) # show binary image
plt.show()
py
PYTHON

過濾器

import skimage as ski
image = ski.data.coins()  # Load sample image
edges = ski.filters.sobel(image)
ski.io.imshow(edges)
ski.io.show()
py
PYTHON

Scikit-image,通常縮寫為skimage,是一個用於圖像處理任務的強大Python庫。 它建立在 NumPy 陣列、SciPy 和 matplotlib 之上,並提供各種功能和算法來操作和分析圖像。 skimage 匯入資料幣可用於從庫存中取得範例圖像。 skimage import filters 可以用來訪問內建的濾波器和實用函數。

Scikit-image 的主要功能

圖像過濾和邊緣檢測

from skimage import io, filters
# Load an image
image = io.imread('image.jpg')
# Apply Gaussian blur
blurred_image = filters.gaussian(image, sigma=1.0)
# Apply Sobel edge detection
edges = filters.sobel(image)
# Display the original image, blurred image, and edges
io.imshow_collection([image, blurred_image, edges])
io.show()
py
PYTHON

輸出

scikit-image Python(運行原理:開發人員指南):圖 1 - 圖像過濾和邊緣檢測輸出

2. 使用 HOG(定向梯度直方圖)進行特徵提取

from skimage import io, color, feature
# Load an example image and convert to grayscale
image = io.imread('image.jpg')
gray_image = color.rgb2gray(image)
# Compute HOG features
hog_features, hog_image = feature.hog(gray_image, visualize=True)
# Display the original image and the HOG image
io.imshow_collection([image, gray_image, hog_image])
io.show()
py
PYTHON

輸出

scikit-image Python(運行原理:開發者指南):圖2 - 特徵提取輸出

3. 幾何變換 - 調整大小和旋轉

from skimage import io, transform
# Load an image
image = io.imread('image.jpg')
# Resize image
resized_image = transform.resize(image, (image.shape[0] // 2, image.shape[1] // 2))
# Rotate image
rotated_image = transform.rotate(image, angle=45)
# Display the original image, resized image, and rotated image
io.imshow_collection([image, resized_image, rotated_image])
io.show()
py
PYTHON

輸出

scikit-image Python(工作原理:開發人員指南):圖 3 - 幾何變換輸出

4. 使用全變差濾波器進行圖像去噪

from skimage import io, restoration
# Load a noisy image
image = io.imread('image.jpg')
# Apply total variation denoising
denoised_image = restoration.denoise_tv_chambolle(image, weight=0.1)
# Display the noisy image and the denoised image
io.imshow_collection([image, denoised_image])
io.show()
py
PYTHON

輸出

scikit-image Python(工作原理:開發人員指南):圖 4 - 圖像去噪輸出

您可以在官方頁面找到有關影像處理和NumPy陣列的更多資訊。

介紹 IronPDF

scikit-image Python(運作方式:開發人員指南):圖 5 - IronPDF:Python PDF 庫

IronPDF 是一個強大的 Python 程式庫,旨在使用 HTML、CSS、圖像和 JavaScript 來處理 PDF 文件的創建、編輯和簽署。 它優先考慮性能效率,並以最小的記憶體使用量運行。 主要功能包括:

  • HTML 到 PDF 轉換: 將 HTML 文件、HTML 字串和 URL 轉換為 PDF 文件,利用像使用 Chrome PDF 渲染器來渲染網頁等功能。
  • 跨平台支持:兼容 Python 3+,可在 Windows、Mac、Linux 和各種雲端平台上使用。 IronPDF 也可用於 .NET、Java、Python 和 Node.js 環境。
  • 編輯和簽署:自訂 PDF 屬性,執行密碼和權限等安全措施,並無縫應用數位簽名。
  • 頁面範本和設置:創建具備標題、頁腳、頁碼、可調整邊距、自定義紙張大小和響應式設計等功能的 PDF 布局。
  • 標準遵循: 嚴格遵守PDF標準如PDF/A和PDF/UA,確保UTF-8字符編碼兼容,並熟練管理資產如圖片、CSS樣式表和字體。

安裝

pip install ironpdf 
pip install scikit-image
py
PYTHON

使用 IronPDF 和 Scikit Image 生成 PDF 文件

先決條件

  1. 確保已安裝 Visual Studio Code 作為程式碼編輯器

  2. 已安裝 Python 3 版本

    首先,讓我們創建一個 Python 檔案來添加我們的腳本。

    打開 Visual Studio Code 並創建一個文件,scikitDemo.py。

    安裝必要的庫:

pip install scikit-image
pip install ironpdf
py
PYTHON

接著添加以下 Python 代碼來演示 IronPDF 和 scikit-image Python 套件的使用。

from skimage import io, filters
from ironpdf import * 
# Apply your license key
License.LicenseKey = "key"
# Load an image
image = io.imread('image.jpg')
# Apply Gaussian blur
blurred_image = filters.gaussian(image, sigma=1.0)
# Apply Sobel edge detection
edges = filters.sobel(image)
# Display the original image, blurred image, and edges
io.imshow_collection([image, blurred_image, edges]).savefig('ironPdf-skimage.png')
ImageToPdfConverter.ImageToPdf("ironPdf-skimage.png").SaveAs("ironPdf-skimage.pdf")
io.show()
py
PYTHON

程式碼說明

此代碼片段展示了如何將 scikit-image (skimage)與 IronPDF 結合使用來處理圖像並將結果轉換為 PDF 文件。 以下是每個部分的說明:

  1. 導入聲明:從 scikit-image 導入必要的功能以加載圖像(io.imread)和圖像過濾(filters.gaussian, filters.sobel),並導入 IronPDF 功能。

  2. 應用授權金鑰: License.LicenseKey = "Key":設定 IronPDF 的授權金鑰。 這個步驟是使用 IronPDF 功能所需的。3. 載入和處理圖像: 使用 scikit-image 的 `io.imread` 函數加載名為 `'image.jpg'` 的圖像。 然後使用filters.gaussian將高斯模糊應用於載入的圖像,sigma 值為 1.0。之後使用filters.sobel將 Sobel 邊緣檢測應用於載入的圖像。

  3. 顯示和儲存結果: io.imshow_collection([image, blurred_image, edges]).savefig('ironPdf-skimage.png'):使用`io.imshow_collection`顯示一組圖像(原始、模糊和邊緣),並將顯示的圖像集合儲存為`'ironPdf-skimage.png'`。

    ImageToPdfConverter.ImageToPdf("ironPdf-skimage.png").SaveAs("ironPdf-skimage.pdf"):使用 IronPDF 的 ImageToPdfConverter.ImageToPdf 將保存的 PNG 圖片('ironPdf-skimage.png')轉換為 PDF 文檔,並將其保存為 'ironPdf-skimage.pdf'。5. 顯示圖像: io.show():在圖形窗口中顯示圖像。

    此代碼片段結合了 scikit-image 的圖像處理能力和 IronPDF 將處理後的圖像轉換為 PDF 文件的功能。 它展示了加載圖像、應用高斯模糊和索貝爾邊緣檢測、顯示結果、將它們保存為 PNG 文件、使用 IronPDF 將 PNG 轉換為 PDF 並顯示處理後的圖像。 此整合適用於需要將圖像處理、分析和以 PDF 格式記錄的任務,例如科學研究、圖像分析報告或自動文件生成工作流程中。

輸出

scikit-image Python(如何運作:開發人員指南):圖6 - 輸入圖像

PDF

scikit-image Python(運作原理:開發人員指南):圖7 - PDF輸出

IronPDF 授權

IronPDF 運行於 Python 的授權金鑰上。 IronPDF for Python 提供免費試用授權金鑰,讓用戶可以在購買之前體驗其豐富的功能。

在使用IronPDF package之前,將許可證密鑰放置在腳本的開頭:

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

結論

scikit-image 使 Python 開發人員能夠有效地解決與圖像相關的任務。 無論您正在從事電腦視覺、醫學影像或藝術項目,此套件都能滿足您的需求。 scikit-image 是一個用於 Python 圖像處理的多功能且強大的庫,提供廣泛的函數和算法,用於過濾、分割、特徵提取和幾何變換等任務。 由於其與其他科學庫的無縫整合,使得它成為從事影像分析和計算機視覺應用的研究人員、開發人員和工程師的首選。

IronPDF 是一個 Python 庫,可促進在 Python 應用中創建、編輯和操作 PDF 文件。 它提供了多種功能,例如從 HTML、圖片或現有的 PDF 檔案生成 PDF 檔。 此外,IronPDF 支援合併或拆分 PDF 檔案、添加註釋、水印或數位簽名,從 PDF 提取文字或圖片,並管理文件屬性,如中繼資料和安全設定。 此程式庫提供了一種有效的方法來以程式方式處理 PDF 相關任務,適用於需要文件生成、報告創建或文檔管理功能的應用程式。

使用這兩個庫,使用者可以處理圖像,並有效地將其儲存為 PDF 檔案以供存檔之用。

查克尼思·賓
軟體工程師
Chaknith 致力於 IronXL 和 IronBarcode。他在 C# 和 .NET 方面擁有豐富的專業知識,協助改進軟體並支持客戶。他從用戶互動中獲得的洞察力有助於提高產品、文檔和整體體驗。
< 上一頁
Grakn Python(運作方式:開發者指南)
下一個 >
peewee Python((運作原理:開發人員指南))

準備開始了嗎? 版本: 2025.5 剛剛發布

查看許可證 >