zl程序教程

您现在的位置是:首页 >  其他

当前栏目

Py之slidingwindow&sliding_window:slidingwindow、sliding_window的简介、安装、使用方法之详细攻略

amp安装方法 详细 简介 攻略 window py
2023-09-14 09:04:48 时间

Py之slidingwindow&sliding_window:slidingwindow、sliding_window的简介、安装、使用方法之详细攻略

 

目录

sliding_window的简介

sliding_window的安装

sliding_window的使用方法


 

 

slidingwindow、sliding_window的简介

 

sliding_window

参考文章:http://stackoverflow.com/a/6822761

 

slidingwindow

       这是一个简单的小Python库,用于将一组窗口计算成一个较大的数据集,设计用于图像处理算法,该算法使用滑动窗口将处理分解为一系列较小的块。此外,还可以指定一组可选转换,以应用于每个窗口。
       还包括用于计算窗口距离矩阵的功能,用于需要考虑窗口中每个像素(相对于其中心)的位置的用例,以及用于批处理窗口和合并应用于窗口的处理结果的功能。
       对于在生成窗口边界后需要修改它们的用例,可以将窗口对象转换为(x,y,w,h)元组表示的矩形。还提供了转换矩形的功能(填充、裁剪、强制方形宽高比等)。
       还提供了创建NumPy数组的功能,如果可用的系统内存不足,该功能将回退到使用内存映射临时文件作为下划线数组缓冲区,以及确定生成窗口时可以使用的最大方形窗口大小。

 

 

 

 

sliding_window的安装

pip install sliding_window

pip install slidingwindow

 

 

sliding_window的使用方法

更新……

import slidingwindow as sw
import numpy as np

# Load our input image here
# data = load(...)

# Generate the set of windows, with a 256-pixel max window size and 50% overlap
windows = sw.generate(data, sw.DimOrder.HeightWidthChannel, 256, 0.5)

# Do stuff with the generated windows
for window in windows:
	subset = data[ window.indices() ]
	# ...

# Or, using some transformation functions
tranforms = [
	lambda m: np.fliplr(m),
	lambda m: np.flipud(m),
	lambda m: np.rot90(m, k=1, axes=(0, 1)),
	lambda m: np.rot90(m, k=3, axes=(0, 1))
]
windows = sw.generate(data, sw.DimOrder.HeightWidthChannel, 256, 0.5, tranforms)
for window in windows:
	transformed = window.apply(data)
	# ...

# Alternatively, if we want to modify each window
windows = sw.generate(data, sw.DimOrder.HeightWidthChannel, 256, 0.5)
for window in windows:
	rect = window.getRect()
	transformed = sw.padRectEqually(rect, 100, data.shape)
	window.setRect(transformed)
	# ...