1

Percentile Stretching

Unsolved
Computer Vision

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

Apple
Facebook
Google
Netflix

Write a function percentile_stretching(image), which takes in a grayscale image as input, clips the 2-98% of the histogram values and returns the contrast stretched image as output using percentile stretching. 

Percentile Stretching formula:

\(P_i = {pixel - X_{min}\over X_{max} - X_{min}} * 255\)

The maximum and minimum value for Pi will be 255 and 0 respectively. 

 

Sample Input:
<class 'list'>
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'>
[[ 0 6 187 16 14] [ 13 29 93 126 142] [ 3 101 4 3 3] [ 3 101 255 229 245] [ 3 101 215 229 245]]

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.

Ipsa perspiciatis cumque rem cupiditate, natus earum eos veritatis delectus, eveniet voluptates delectus? Alias assumenda tempora dolorum aspernatur illo nemo optio eligendi magnam, itaque vitae libero doloribus officiis ad rem quibusdam ipsum explicabo, est illo porro perferendis ipsum culpa id magnam sapiente? Illo eos id, quaerat vitae aut sed magni eveniet recusandae ex exercitationem iure asperiores neque. Possimus quis mollitia?

Numquam asperiores magnam amet reprehenderit incidunt ab porro deserunt rerum ipsam quaerat, sint cupiditate mollitia, voluptatum doloribus facere temporibus unde quod debitis vel exercitationem voluptates dicta, qui deleniti aliquid inventore sapiente in. Sequi quibusdam eos accusantium ipsam aliquam.

Sint fugit itaque hic sequi consequatur assumenda expedita doloremque. Laborum labore distinctio esse, ad labore assumenda officia inventore magni deserunt, ex ducimus adipisci libero in laudantium quaerat repellat. Doloremque nulla quia iusto quis excepturi autem tenetur dignissimos?

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)