Python Patchify - 从大图片中提取补丁

773 阅读2分钟

在本教程中,我们将研究如何使用Python编程语言从巨大的照片中提取补丁。


简介

在训练任何深度学习算法时,我们更喜欢使用小图片,因为它们能产生更好的结果。但是如果我们有巨大的图片怎么办?一个解决方案是将较大的照片分成较小的斑块,使我们能够训练任何算法。

你可能想知道patch 是什么意思?顾名思义,图像补丁是图片中的一组像素。假设我有一张20乘20像素的图片。它可以被分为1000个正方形补丁,每个补丁为2×2像素。


Python Patchify简介

PythonPatchify 是一个用于裁剪照片并将裁剪好的或修补好的图片保存在Numpy 数组中的软件包。但首先要确保你的系统中使用pip命令安装了patchify

Patchify可以根据指定的补丁单位大小将图片分成小的重叠部分,然后将这些区域与原始图片融合。


使用Python Patchify来提取图片补丁

让我们现在就开始使用这个模块,在这里开始提取图片补丁。

1.导入模块

我们首先要导入将大型图像转换为补丁所必需的模块。这里的Numpy ,用于创建图像数据,patchify 模块用于将图像转换为图像补丁:

import numpy as np
from patchify import patchify

2.创建图像数据

我们以numpyarray 的形式创建图像数据,让我们看看图像的初始形状:

image = np.array([[1,2,3,4], [5,6,7,8], [9,10,11,12], [13, 14, 15, 16]])
print(image.shape)

3.从图像中提取斑块

patches = patchify(image, (2,2), step=2) 
print(patches.shape)


完整的代码和输出

import numpy as np
from patchify import patchify
image = np.array([[1,2,3,4], [5,6,7,8], [9,10,11,12], [13, 14, 15, 16]])
print(image.shape)
patches = patchify(image, (2,2), step=2) 
print(patches.shape)


我希望你对这个概念很清楚,也理解了生成补丁的过程。同样的方法也可以应用于3D图像!试试吧!

编码愉快!😇