Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

In preparation for doing a clustering analysis on a set of RGB colors, we need a function that will give us the distance from

  

In preparation for doing a clustering analysis on a set of RGB colors, we need a function that will give us the "distance" from one color to another and a function that calculates the "center of mass" of a set of colors. We'd like to do the easy thing of treating the 24-bit RGB color space as a 3-D cartesian space with the x- axis corresponding to the red intensity, the y-axis corresponding to the green intensity, and the z-axis corresponding to the blue intensity. 24-bit RGB values are represented in integers but usually written in hexadecimal (like decimal, but base 16, with all the digits 0-9 followed by A-F for the values 10-15). So black, which is zero intensity of all three colors is represented as the number zero, but usually that is shown in hexadecimal, Ox000000, white is 100% intensity of all three bases, so OxFFFFFF, pure blue is 0x0000FF, pure green is 0x00FF00, and pure red is OxFF0000. A mixed color like burnt umber, Ox8a3324, has various amounts of red, green, and blue intensities. We'd like to calculate the distance from one color to another as the distance in 3-space which we can calculate with the Pythagorean Formula: d = (1-2)+(9 - 92) + (b b) Q That distance is somewhat, though not perfectly, correlated with human perception of the difference between two colors. We can pull out the red, green, and blue components of an RGB integer as is done in the following example using bit-wise operators in Python: burnt_umber = 0x8a3324 # Python allows hex literals for ints, red burnt_umber >> 16 green burnt_umber >> 8 & 0xff blue burnt_umber & 0xff # 0x8a red intensity # 0x33 green intensity # 0x24 blue intensity Q 1. Write the function, rgb_distance(color1, color2), which returns the distance between color1 and color2. 2. Write the function, rgb_center(colors), which returns the average color of the given sequence of colors. Average the reds, greens, and blues separately then combine the averages into an average color and return that. You can assemble a 24-bit RGB color from its components as follows: color=red < < 16 | green < < 8 | blue

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image_2

Step: 3

blur-text-image_3

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Survey of Accounting

Authors: Carl S Warren

5th Edition

9780538489737, 538749091, 538489731, 978-0538749091

More Books

Students also viewed these Operating System questions