opencv第七题:平均池化Average Pooling

题目要求:
opencv第七题:平均池化Average Pooling_第1张图片

import cv2
import numpy as np

def average_pooling(img, G=8):
    out = img.copy()

    H, W, C = img.shape

    Nh = int(H / G)
    Nw = int(W / G)
    # print(Nh, Nw)
    for i in range(Nh):
        for j in range(Nw):
            for c in range(C):
                out[G * i:G * (i + 1), G * j:G * (j + 1), c] = np.mean(
                    out[G * i: G * (i + 1), G * j: G * (j + 1), c]).astype(
                    np.int)
    return out

img = cv2.imread('lena.jpg')
out = average_pooling(img)
print(out.shape)
cv2.imshow('result', out)
cv2.waitKey(0)
cv2.destroyAllWindows()

核心:

out[G * i:G * (i + 1), G * j:G * (j + 1), c] = np.mean(out[G * i: G * (i + 1), G * j: G * (j + 1), c]).astype(np.int)

opencv第七题:平均池化Average Pooling_第2张图片

你可能感兴趣的:(opencv打卡100题)