1

Image Sharpening

Unsolved
Computer Vision

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

Amazon
Apple
Facebook
Google
Netflix

Image sharpening increases the contrast between bright and dark regions to bring out features. In Image Processing, we can use multiple filters that will sharpen the image. The below array is a kernel for a common high pass filter that that can be used to sharpen an image: 

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

Write a function sharpen(image) which takes in an input grayscale image (numpy 2D array) and returns the sharpened image (numpy 2D array) using the given filter. Use a padding of 2.

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'>
[[ -3 -16 98 -27 -8] [ 0 -9 25 46 78] [-13 28 -61 -73 -48] [-18 15 95 59 104] [-10 23 70 60 105]]

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.

A blanditiis laboriosam harum exercitationem perspiciatis saepe, pariatur beatae quaerat consequatur eaque assumenda quo voluptate, soluta tempore incidunt eligendi est culpa distinctio laborum error. Sed ab ut ratione ad obcaecati dolorum ullam earum molestiae nobis quae, ipsa beatae facilis at quis inventore, id ipsum eum minus soluta quasi placeat praesentium? Deserunt molestias sed ducimus sit numquam id velit, necessitatibus velit assumenda nobis eum libero reprehenderit neque aliquid exercitationem similique eaque.

Fugiat dolores iste excepturi dignissimos impedit cum facere alias atque distinctio blanditiis, rerum error fuga est deleniti eveniet, labore ducimus voluptatem quisquam perspiciatis assumenda ipsum corporis non architecto, harum sint possimus quasi tempora. Ullam suscipit doloremque vitae, aperiam dolores nemo maxime velit at facere? Itaque quo vel nihil ab deserunt error quidem exercitationem, cum odio aliquid quidem, provident nemo ullam distinctio aperiam explicabo deserunt, adipisci eos deserunt laudantium nobis ab modi, voluptatibus fugit id quo alias illum?

Ut eos dicta amet itaque rem adipisci tempora reprehenderit corporis, vitae enim minus asperiores totam autem a, iure deleniti a officia rerum eveniet repudiandae reprehenderit velit temporibus maxime ut, ad iste numquam repudiandae ipsam, ullam enim porro dolor delectus incidunt commodi minus inventore consequuntur? Dolore expedita distinctio doloremque veritatis debitis, eos officia cumque ipsum consectetur accusantium omnis obcaecati illum nesciunt itaque, ducimus cupiditate dolore hic expedita minus non animi ad quasi nisi et, optio dignissimos tenetur hic distinctio sit cum reiciendis minus voluptatum non.

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)