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

简介: Py之slidingwindow&sliding_window:slidingwindow、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

网络异常,图片无法展示
|

网络异常,图片无法展示
|
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)

# ...


相关文章
|
4月前
|
开发者
Flutter笔记:Widgets Easier组件库(11)- 使用提示吐丝(Tip Toasts)
Flutter笔记:Widgets Easier组件库(11)- 使用提示吐丝(Tip Toasts)
57 1
|
算法 网络协议
温故知新 —— Sliding Window
滑动窗口算法可以将嵌套的循环问题,转换为单循环问题,降低时间复杂度。
|
BI API 数据处理
带你理解并使用flink中的Time、Window(窗口)、Windows Function(窗口函数)
flink中,streaming流式计算被设计为用于处理无限数据集的数据处理引擎,其中无限数据集是指一种源源不断有数据过来的数据集,window (窗口)将无界数据流切割成为有界数据流进行处理的方式。实现方式是将流分发到有限大小的桶(bucket)中进行分析。flink 中的streaming定义了多种流式处理的时间,Event Time(事件时间)、Ingestion Time(接收时间)、Processing Time(处理时间)。
682 0
带你理解并使用flink中的Time、Window(窗口)、Windows Function(窗口函数)
|
算法 测试技术 计算机视觉
Py之slidingwindow&sliding_window:slidingwindow、sliding_window的简介、安装、使用方法之详细攻略
Py之slidingwindow&sliding_window:slidingwindow、sliding_window的简介、安装、使用方法之详细攻略
Py之slidingwindow&sliding_window:slidingwindow、sliding_window的简介、安装、使用方法之详细攻略
|
数据可视化 算法 计算机视觉
qml开发笔记(六):可视化元素Text、Window
qml开发笔记(六):可视化元素Text、Window
qml开发笔记(六):可视化元素Text、Window
|
JavaScript 前端开发
showModalDialog和showModelessDialog详细使用方法
showModalDialog和showModelessDialog详细使用方法
144 0
|
测试技术 图形学 开发者
Unity 3D UGUI Toggle用法教程
UGUI Toggle用法教程 本文提供全流程,中文翻译。 Chinar 坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 —— 高分辨率用户请根据需求调整网页缩放比例) Chinar ——...
3051 0
|
Web App开发 JavaScript 容器