Итак, я делаю этот курс, и есть это упражнение, в котором мне нужно размыть изображение, используя область массива 3х3 и поменять все значения на средние. Итак, я написал эту функцию, которая, как я знаю, до сих пор не работает полностью:
def replace_avg(img, block=3):
x_dim, y_dim = img.shape
for row in range(1,x_dim-block+2,3):
for col in range(1,y_dim-block+2,3):
img[row-(block-2):row+(block-1),col-(block-2):col+(block-1)] = np.average(img[row-(block-2):row+(block-1),col-(block-2):col+(block-1)])
return img
У меня вопрос: есть ли более эффективный способ циклически проходить через этот массив с фильтром 3x3 с использованием numpy?