PYTHON 幫助

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

里根普恩
里根普恩
2025年2月26日
分享:

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

入門

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

通过 pip 安装

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

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

基本範例

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

過濾器

import skimage as ski
image = ski.data.coins()  # Load sample image
edges = ski.filters.sobel(image)
ski.io.imshow(edges)
ski.io.show()
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()
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()
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()
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()
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
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
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()
PYTHON

程式碼說明

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

  1. 導入語句: 從 scikit-image 導入必要的函數以加載圖像(io.imread)和影像濾波(filters.gaussianfilters.sobel)並匯入 IronPDF 功能。

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

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

    ImageToPdfConverter.ImageToPdf(ironPdf-skimage.png).SaveAs(ironPdf-skimage.pdf):轉換已保存的 PNG 圖像('ironPdf-skimage.png')使用 IronPDF 的 ImageToPdfConverter.ImageToPdf 將其轉換為 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 套件:

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

結論

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

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

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

里根普恩
軟體工程師
Regan 畢業於雷丁大學,擁有電子工程學士學位。在加入 Iron Software 之前,他的工作角色讓他專注於單一任務;而他在 Iron Software 工作中最喜歡的是他所能承擔的工作範圍,無論是增加銷售價值、技術支持、產品開發或市場營銷。他喜歡了解開發人員如何使用 Iron Software 庫,並利用這些知識不斷改進文檔和開發產品。
< 上一頁
Grakn Python(運作方式:開發者指南)
下一個 >
peewee Python((運作原理:開發人員指南))

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

查看許可證 >