PYTHON帮助

scikit-image Python(开发者指南:工作原理)

Scikit-image 是一组为 Python 中的图像处理而设计的算法的集合。 它是自由开放且无限制的,拥有高质量的、经过同行评审的代码,这些代码来自一个活跃的志愿者社区。 Scikit-image项目于2009年在谷歌开始,作为谷歌编程之夏计划的一部分,由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 import data coins 可用于从库中获取示例图像。 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 for Python 是一个强大的 Python 库,旨在使用 HTML、CSS、图像和 JavaScript 处理 PDF 文档的创建、编辑和签名。 它优先考虑性能效率,并以最低的内存使用率运行。 关键功能包括:

  • HTML到PDF转换: 将HTML文件、HTML字符串和URL转换为PDF文档,利用Chrome PDF渲染器呈现网页等功能。
  • 跨平台支持:兼容 Windows、Mac、Linux 和各种云平台的 Python 3+ 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文档的能力。 它演示了加载图像、应用高斯模糊和 Sobel 边缘检测、显示结果、将其保存为 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"
py
PYTHON

结论

scikit-image 为Python开发人员提供了高效处理图像相关任务的能力。 无论您是在从事计算机视觉、医学图像处理还是艺术项目,这个软件包都能满足您的需求。 scikit-image 是一个多功能且强大的 Python 图像处理库,提供了广泛的功能和算法,用于完成过滤、分割、特征提取和几何变换等任务。 与其他科学库的无缝集成使其成为研究人员、开发人员和工程师在图像分析和计算机视觉应用中工作的首选。

IronPDF 是一个 Python 库,可在 Python 应用程序中实现 PDF 文档的创建、编辑和操作。 它提供的功能包括从各种来源生成 PDF 文件,如 HTML、图像或现有的 PDF。 此外,IronPDF 支持合并或拆分 PDF 文档、添加注释、水印或数字签名、从 PDF 中提取文本或图像,以及管理文档属性,如元数据和安全设置。 该库提供了一种高效的方法以编程方式处理PDF相关任务,适用于需要文档生成、报告创建或文档管理功能的应用程序。

结合这两个库,用户可以使用图像、有效地处理它们,并将结果存储在 PDF 文档中以用于归档目的。

查克尼特·宾
软件工程师
Chaknith 负责 IronXL 和 IronBarcode 的工作。他在 C# 和 .NET 方面拥有深厚的专业知识,帮助改进软件并支持客户。他从用户互动中获得的洞察力,有助于提升产品、文档和整体体验。
< 前一页
Grakn Python(其工作原理:开发者指南)
下一步 >
peewee Python ((运作原理:开发人员指南))

准备开始了吗? 版本: 2025.5 刚刚发布

查看许可证 >