PYTHON帮助

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

Kannaopat Udonpant
坎那帕·乌东攀
2025年二月26日
分享:

Scikit-image是一个为Python中的图像处理设计的算法集合。 它是自由开放且无限制的,拥有高质量的、经过同行评审的代码,这些代码来自一个活跃的志愿者社区。 Scikit-image项目于2009年在谷歌开始,作为谷歌编程之夏计划的一部分,由Stefan van der Walt和其他Scikit-image贡献者指导。 它旨在创建一个用于图像处理的Python库,该库易于使用、高效且可扩展,适用于学术和工业应用。 在本文中,我们将了解 Scikit-image Python 成像库和来自 IronPDF 的 PDF 生成库铁软件(Iron Software)称为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 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()
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 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/A 和 PDF/UA 等 PDF 标准,确保 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`对加载的图像应用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文档的能力。 它演示了加载图像、应用高斯模糊和 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"
PYTHON

结论

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

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

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

Kannaopat Udonpant
坎那帕·乌东攀
软件工程师
在成为软件工程师之前,Kannapat 从日本北海道大学完成了环境资源博士学位。在攻读学位期间,Kannapat 还成为了生物生产工程系车辆机器人实验室的成员。2022年,他利用自己的 C# 技能加入了 Iron Software 的工程团队,专注于 IronPDF。Kannapat 珍视他的工作,因为他能直接向编写 IronPDF 大部分代码的开发者学习。除了同伴学习,Kannapat 还享受在 Iron Software 工作的社交方面。不写代码或文档时,Kannapat 通常在 PS5 上玩游戏或重看《最后生还者》。
< 前一页
Grakn Python(其工作原理:开发者指南)
下一步 >
peewee Python ((运作原理:开发人员指南))

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

查看许可证 >