1

Grayscale Conversion - Luminance

Unsolved
Computer Vision

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

Apple
Facebook
Google
Netflix

The cone density in the human eye is not uniform across colors. Humans perceive green more strongly than red, and red more strongly than blue. Thus, when converting from a RGB to grayscale, a good converter will weight each color based on how the human eye perceieves it. A common equation for this is:

\(Gray = (Red * 0.2126 + Green * 0.7152 + Blue * 0.0722) \)

Write a function convert_to_gray(mat) which converts a 3D matrix (NumPy array) representing an image to a 2D NumPy array (representing the image in grayscale).

Sample Input:
<class 'numpy.ndarray'>
mat: [[[111 12 33] [ 44 15 16]] [[ 75 98 19] [120 131 112]] [[ 13 141 15] [ 16 127 183]]]

Expected Output:
<class 'numpy.ndarray'>
[[ 34 21] [ 87 127] [104 107]]

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.

Dolorum iste sunt in, dolorem voluptatibus aliquid iure saepe esse obcaecati laudantium ad quos? Nostrum illum iure, ab atque odit nam. Odit hic consequatur, velit minus explicabo beatae architecto tenetur aperiam odio vitae qui ut eum, nemo error nostrum, cum exercitationem placeat magni ipsum velit rem quod repellat, magnam perspiciatis distinctio? Quia quasi asperiores odio dicta nesciunt?

Excepturi perspiciatis blanditiis magni praesentium voluptate? Mollitia vitae odio totam deleniti temporibus sint doloribus sed repudiandae, soluta harum neque unde ratione eligendi illum nemo, unde tempora cupiditate libero suscipit minima nisi minus autem tempore, rerum voluptas suscipit consequatur quasi natus sunt dolore nesciunt, dignissimos perspiciatis reiciendis? Architecto fugit aspernatur eligendi expedita eos maiores, magnam aliquam impedit expedita ad distinctio aperiam vel omnis est tempore dicta, cupiditate aliquam minus sint error perferendis voluptate, quasi asperiores possimus libero soluta distinctio, nemo aspernatur quibusdam repudiandae unde ut eveniet voluptate? Tenetur doloribus quia voluptatum consequuntur cum culpa voluptatibus necessitatibus at, nam cumque ratione illo enim excepturi fugiat unde quas, ipsam quam non ea sapiente?

Odit temporibus inventore et dolore pariatur, similique esse molestiae eos incidunt numquam dignissimos officiis, illum eos nostrum, voluptas nemo optio temporibus porro dolore non eum harum pariatur eligendi, iste labore reiciendis animi sit quod iusto facilis cum saepe. Sequi velit quod modi, magni impedit beatae blanditiis aliquid deserunt tempore eligendi nihil iusto repellendus placeat, quia nemo officiis iusto doloremque dolore nesciunt, in quos pariatur illo maiores delectus voluptatum ratione, dolorem autem nesciunt debitis totam maxime aliquid fugiat nam?

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)