本文共 936 字,大约阅读时间需要 3 分钟。
在图像处理和数据分析中,滑动窗口是一种常见操作,用于提取局部特征。以下将介绍如何使用numpy实现一个M×N大小的滑动窗口,能够遍历整个numpy.ndarray。
以下是实现滑动窗口的Python函数:
import numpy as npdef sliding_window(matrix, window_size): rows, cols = matrix.shape result = [] for i in range(rows - window_size + 1): for j in range(cols - window_size + 1): window = matrix[i:i+window_size, j:j+window_size] result.append(window) return np.array(result)
matrix:输入的numpy.ndarray矩阵。window_size:窗口的大小,格式为(M, N),表示行数和列数。matrix = np.array([[1,2,3], [4,5,6], [7,8,9]])window_size = (2, 2)print(sliding_window(matrix, window_size))
[[[1 2] [4 5]][[2 3] [5 6]][[3 4] [6 7]][[4 5] [7 8]][[5 6] [8 9]]
matrix.shape获取矩阵的行数和列数。通过以上实现,可以轻松滑动窗口遍历整个矩阵,提取所需的局部信息。
转载地址:http://zrdfk.baihongyu.com/