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)

# ...


相关文章
|
2月前
|
开发者
Flutter笔记:Widgets Easier组件库(11)- 使用提示吐丝(Tip Toasts)
Flutter笔记:Widgets Easier组件库(11)- 使用提示吐丝(Tip Toasts)
33 1
|
算法 网络协议
温故知新 —— Sliding Window
滑动窗口算法可以将嵌套的循环问题,转换为单循环问题,降低时间复杂度。
|
算法 测试技术 计算机视觉
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
为什么会有window.window这种设计
为啥要搞这个这个看起来貌似很奇葩的设计。 要解答这个问题,还得请出this,我们经常说浏览器中的全局对象是window, 这句话对了,也还没完全对。 全局对象的真实身份应该是全局作用域的this。 window只是为了便于访问this,弄出来的一个属性。
300 0
为什么会有window.window这种设计
|
JavaScript 前端开发
showModalDialog和showModelessDialog详细使用方法
showModalDialog和showModelessDialog详细使用方法
133 0
screen 配置与使用笔记
screen 多人使用的时候经常遇到 屏幕大小不一致导致无法正常显示,只需要 ctrl+a shift+; fill 即可解决. 可以通过下面#把ctrl +a 替换成ctrl+z(ctrl+a 经常会用此组合键实现光标移动) The resultsing command give you a s.
635 0
|
JavaScript Linux PHP
sublime window 配置记录 (转)
大家好,今天给大家分享一款编辑器:sublime text2    我用过很多编辑器,EditPlus、EmEditor、Notepad++、Notepad2、UltraEdit、Editra、Vim,还有包括netbeans , zendstudio, dreamweaver 等。
1184 0
|
测试技术 图形学 开发者
Unity 3D UGUI Toggle用法教程
UGUI Toggle用法教程 本文提供全流程,中文翻译。 Chinar 坚持将简单的生活方式,带给世人!(拥有更好的阅读体验 —— 高分辨率用户请根据需求调整网页缩放比例) Chinar ——...
3033 0
|
Web App开发 JavaScript 容器