首页 > 解决方案 > 将图像划分为块

问题描述

在此处输入图像描述嗨,我想将图像 (200x200) 分成 100 个大小相等的块,然后我想找到每个块的平均值。我已经看了很多关于如何将图像划分为 10x10 块(10 行 10 列)的信息,但无法掌握如何做到这一点的概念。任何人都可以帮忙。

标签: pythonnumpyopencvimage-processing

解决方案


我假设你有 numpy,因为你有它作为标签。如果您没有 Pillow 模块,请运行

pip install Pillow

并抓住它。以下代码将图像分割成 400 个 10x10 的块。

import numpy as np
from PIL import Image

image = Image.open("your_file.jpg", "r")
arr = np.asarray(image)
arr = np.split(arr, 20)
arr = np.array([np.split(x, 20, 1) for x in arr])

然后,要抓取第 ij 个块,通过以下方式对其进行索引:

arr[i][j]

推荐阅读