python - python中的滑动窗口改变形状

标签 python image loops numpy

我使用以下函数在更大的图像上滑动并拉出 (64, 64, 3) 的窗口以从 CNN 进行分类。

def find_vehicles(image_name, classifier):
    window_width, window_height = (64, 64)
    step_size = 64
    image = cv2.imread(image_name)
    image = np.array(image)
    temp = image
    image = image / 255.0

    for i in range(0, image.shape[1] - window_width, step_size):
        for j in range(0, image.shape[0] - window_height, step_size):
            window = image[i:i + window_width, j:j + window_height, :]
            print(window.shape)

但经过 25 次迭代后,窗口大小缩小到 (55, 64, 3),最终缩小到 (0, 64, 3)。我究竟做错了什么?输入图像的形状为(375, 1242, 3)

最佳答案

嗯,这是一个愚蠢的错误。当我发布这个问题时,我意识到我正在以宽度 x 高度的形式读取图像,而我应该以高度 x 宽度的形式读取图像。改变

window = image[i:i + window_width, j:j + window_height, :]

window = image[j:j + window_height, i:i + window_width, :]

解决了我的问题。

关于python - python中的滑动窗口改变形状,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58254684/

相关文章:

python - scikit-learn 的 BaggingClassifier 和自定义基本估计器出现问题 : operands can't be broadcast together?

python - 通过将逗号分隔的列的值替换为基于另一个数据框的查找来创建新列

android - 图像不显示在 App IONIC 2 的构建中

css完美全屏图片背景

javascript - textContent 对象属性不起作用

python - 使用 Matplotlib 在 Python 中使用鼠标在图像上绘制点

python - 根据长度将字符串列表拆分为子列表

反转图像的黑白颜色

c - 对C中的for循环感到困惑

c - 使用c程序以交叉方式打印字符串