我有9张小盒子(黑白盒子),每个小盒子的宽度= x和高度= y。我需要每个小盒子的像素值的平均值。
最初,我将图像转换为数组
image = cv2.imread('x.png')
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
这是我尝试过的方法,但是有错误。
box_pixels = []
temp = []
p, q, r, s = 0, x, 0, y
while q <= gray.shape[0]:
temp.append([])
while s <= gray.shape[1]:
for i in range(p, q):
for j in range(r, s):
temp.append(gray[i][j])
r = s
s = s+y
p = q
q = q + x
box_pixels.append(temp)
print(box_pixels)
我不知道该怎么做?
答案 0 :(得分:1)
因此,您真正要做的就是缩小图像。假设我们的图片是256x256像素,我们想将其缩小到32x32像素。这意味着我们将要缩小到原始大小(32/256)的1/8。这也意味着每个框将为8x8像素。因此,要执行调整大小:
image = cv2.imread('x.png')
gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
resized = cv2.resize(gray, None, fx=32/256, fy=32/256, interpolation=cv2.INTER_AREA)
这应该使您了解需要使用宽度/高度坐标来计算正确的调整大小值的情况。