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

简介: 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的使用方法

更新……

1. import slidingwindow as sw
2. import numpy as np
3. 
4. # Load our input image here
5. # data = load(...)
6. 
7. # Generate the set of windows, with a 256-pixel max window size and 50% overlap
8. windows = sw.generate(data, sw.DimOrder.HeightWidthChannel, 256, 0.5)
9. 
10. # Do stuff with the generated windows
11. for window in windows:
12.   subset = data[ window.indices() ]
13.   # ...
14. 
15. # Or, using some transformation functions
16. tranforms = [
17.   lambda m: np.fliplr(m),
18.   lambda m: np.flipud(m),
19.   lambda m: np.rot90(m, k=1, axes=(0, 1)),
20.   lambda m: np.rot90(m, k=3, axes=(0, 1))
21. ]
22. windows = sw.generate(data, sw.DimOrder.HeightWidthChannel, 256, 0.5, tranforms)
23. for window in windows:
24.   transformed = window.apply(data)
25.   # ...
26. 
27. # Alternatively, if we want to modify each window
28. windows = sw.generate(data, sw.DimOrder.HeightWidthChannel, 256, 0.5)
29. for window in windows:
30.   rect = window.getRect()
31.   transformed = sw.padRectEqually(rect, 100, data.shape)
32.   window.setRect(transformed)
33.   # ...

 

相关文章
|
9月前
|
Web App开发 IDE 开发工具
为什么AirtestIDE的selenium Window突然无法检索控件了?
为什么AirtestIDE的selenium Window突然无法检索控件了?
|
4月前
|
API Windows
Window本地部署ChatTTS
这篇文章详细介绍了如何在Windows系统上本地部署ChatTTS,实现将文本转化为高质量的语音输出,并提供了简便的部署方法和使用指南。
242 2
Window本地部署ChatTTS
|
24天前
|
JavaScript 前端开发 容器
this、self、window、top 在 JavaScript 中的区别深入研究
在 JavaScript 开发中,`this`、`self`、`window` 和 `top` 是四个常用的概念。`this` 指向当前执行上下文的对象,其值取决于函数调用方式;`self` 在全局作用域中等同于 `window`,常用于 Web Workers;`window` 代表浏览器窗口,是全局变量的容器;`top` 指向最顶层窗口,用于判断是否在框架中。理解这些概念有助于编写健壮的代码。
28 1
this、self、window、top 在 JavaScript 中的区别深入研究
|
Python 容器
Python Tkinter教程(三)——三种几何布局管理器Pack、Place和Grid的所有参数及相关方法及详细用法
Python Tkinter教程(三)——三种几何布局管理器Pack、Place和Grid的所有参数及相关方法及详细用法
1282 0
|
Python Windows 容器
Python Tkinter教程(二)——Label控件、Frame控件、Button控件的完整参数和所有方法及详细用法
Python Tkinter教程(二)——Label控件、Frame控件、Button控件的完整参数和所有方法及详细用法
271 0
|
JavaScript 前端开发
|
JavaScript 前端开发
|
算法 网络协议
温故知新 —— Sliding Window
滑动窗口算法可以将嵌套的循环问题,转换为单循环问题,降低时间复杂度。
|
网络协议 数据库连接 Windows
Window基础命令
Window基础命令
为什么会有window.window这种设计
为啥要搞这个这个看起来貌似很奇葩的设计。 要解答这个问题,还得请出this,我们经常说浏览器中的全局对象是window, 这句话对了,也还没完全对。 全局对象的真实身份应该是全局作用域的this。 window只是为了便于访问this,弄出来的一个属性。
331 0
为什么会有window.window这种设计