Skip to content

Instantly share code, notes, and snippets.

@jamesnvc
Created October 2, 2010 23:50
Show Gist options
  • Save jamesnvc/608119 to your computer and use it in GitHub Desktop.
Save jamesnvc/608119 to your computer and use it in GitHub Desktop.
def adjust_colours(target_pic, reference_pic):
'''Takes target pic and adjusts it's average RGB values to reference pic's RGB values...
'''
target_red_avg = red_average(target_picture)
reference_red_avg = red_average(reference_picture)
red_scale_factor = reference_red_avg/target_red_avg
target_blue_avg = blue_average(target_picture)
reference_blue_avg = blue_average(reference_picture)
blue_scale_factor = reference_blue_avg/target_blue_avg
target_green_avg = green_average(target_picture)
reference_green_avg = green_average(reference_picture)
green_scale_factor = reference_green_avg/target_green_avg
to_return = media.copy(target_pic)
for pix in to_return:
# There's a slightly more concise way of doing this, but leaving it like
# this for pedagogical purposes.
new_red = red_scale_factor * media.get_red(pix)
media.set_red(pix, new_red)
new_blue = blue_scale_factor * media.get_blue(pix)
media.set_blue(pix, new_blue)
new_green = green_scale_factor * media.get_green(pix)
media.set_green(pix, new_green)
return to_return
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment