Py之slidingwindow&sliding_window:slidingwindow、sliding_window的简介、安装、使用方法之详细攻略
2023-09-14 09:04:48 时间
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
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)
# ...
相关文章
- Veeam Backup & Replication 10.0.0.4461安装部署(包含补丁)
- [SAA + SAP] 06. Containers on AWS: ECS, Fargate, ECR & EKS
- Duplicate entry '0' for key 'PRIMARY'
- [Java Spring] Controlling API Exposure & Override Endpoint Name
- [CoffeeScript] Level 3: Conditionals & Operators -- Ex
- linux ubuntu 22.04安装后配置优化:调整 Dock Panel 外观 & 启用 Gnome 扩展支持 & 安装gnome tweaks
- 华为OD机试 - 九宫格(Java & JS & Python)
- 华为OD机试 - 最大数字(Java & JS & Python)
- VB.net:VB.net编程语言学习之添加引用&打包安装项目的简介、案例应用之详细攻略
- iOS 9 导入类库全面详尽过程(Ruby安装->CocoaPods安装->导入类库)
- java语言学习003_开发环境基础配置和安装(jdk,jre,eclipse&myeclipse)
- AI&BlockChain:“知名博主独家讲授”人工智能创新应用竞赛【精选实战作品】之《基于计算机视觉、自然语言处理和区块链技术的乘客智能报警系统》案例的界面简介、功能介绍分享之计算机视觉技术
- 智能优化算法——模拟退火法(Python&Matla实现)
- Linux 离线装 docker & docker-compose
- Java存储区域——JVM札记<一个>
- n & (n-1)
- 前端基础 & Bootstrap框架
- [Sqlite] --> Sqlite于Windows、Linux 和 Mac OS X 在安装过程
- linux安装sz && rz功能
- Kubernetes(k8s)包管理器Helm(Helm3)介绍&Helm3安装Harbor
- Kubernetes_CNCF&云原生
- mac安装Parallels Tools(kali)解决(内核版本&gt;=4.15问题)