0

Image Averaging

Unsolved
Computer Vision

Difficulty: 5 | Problem written by mesakarghm
Problem reported in interviews at

Apple
Facebook
Google
Netflix

In Image Averaging, we calculate the weighted sum of the nearby pixels of an image, which then replaces the original value. It can be done using various types of Image Averaging filters. An example of 3*3 Image Averaging Filter is: 

\(\begin{bmatrix} 1/9 & 1/9 & 1/9\\ 1/9 & 1/9 & 1/9 \\ 1/9 & 1/9 & 1/9 \end{bmatrix}\)

Write a function averaging(image) which takes in an input grayscale image (2D NumPy array) and returns the averaged output image using a 3x3 averaging filter. The shape of the output image will be the same as the shape of the input image.  Use padding of two if required. 

Sample Input:
<class 'numpy.ndarray'>
image: [[ 1 7 119 13 12] [ 11 21 61 81 91] [ 5 66 6 5 5] [ 5 66 166 145 155] [ 5 66 136 145 155]]

Expected Output:
<class 'numpy.ndarray'>
[[ 4 24 33 41 21] [ 12 32 42 43 23] [ 19 45 68 79 53] [ 23 57 89 102 67] [ 15 49 80 100 66]]

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

Iure aut fuga voluptates neque non, enim dignissimos maiores quae ea odit quidem accusantium, deleniti nam eos modi quidem placeat quos sint earum? Velit asperiores odio ipsam doloremque quae laudantium provident repudiandae adipisci nam, natus ducimus modi sit ut vel saepe laborum? Veritatis delectus excepturi fugit in similique facere aliquam nemo nostrum, officia adipisci provident dolorum repellendus quibusdam tenetur deserunt nesciunt, mollitia nulla ratione numquam magni maiores iure fugit commodi blanditiis ipsum, tenetur modi soluta praesentium doloremque nesciunt. Laboriosam eligendi debitis ipsa.

Dolorum numquam assumenda aliquid dignissimos ducimus beatae consequatur ipsum, nam ab excepturi voluptatibus dicta facilis. Alias ea quasi deleniti odio consectetur et eius laudantium ratione vitae? Laboriosam nam voluptate autem voluptas nostrum at placeat aut illum vero dolorum, tempore obcaecati corrupti quas non cumque dolorum quam voluptatibus, maxime praesentium facere, alias minus incidunt voluptatem ea, voluptatibus optio in.

Quasi itaque recusandae aliquam eius, hic amet quis reprehenderit animi cupiditate aperiam vitae fugiat, cumque nihil quaerat assumenda autem cum facilis ipsa dolor, aliquid officia possimus veritatis ab commodi beatae, veniam quia fugit omnis nulla officia incidunt perspiciatis ab? Dicta sint dolorem ducimus architecto debitis voluptates fugiat commodi beatae qui, nisi accusantium cumque vel eum id sapiente ex quos, minus eum provident necessitatibus sint labore rerum quaerat molestiae, autem sit odit dolorem rem impedit dolorum totam velit rerum officia hic?

This is a premium feature.
To access this and other such features, click on upgrade below.

Ready.

Input Test Case

Please enter only one test case at a time
numpy has been already imported as np (import numpy as np)