Ejemplo n.º 1
0
def make_html():
    out = open('color_samples.html', 'w')
    out.write(HEADER)
    colordata = make_lab_color_data()
    names = colordata.keys()
    names.sort()
    for colorname in names:
        colors = colordata[colorname]
        freq = len(colors)
        if freq >= 8:
            samples = elect_samples(colors, 8)
            if len(samples) == 8:
                print colorname, samples
                print >> out, "<tr>"
                for sample in samples:
                    print >> out, '<td bgcolor="#%02x%02x%02x" width="32">&nbsp;</td>' % sample
                print >> out, '<td>%s (%d)</td>' % (colorname, freq)
                print >> out, '</tr>'
    out.write(FOOTER)
    out.close()
Ejemplo n.º 2
0
import simplenlp
from metanl import english
import math, random
from luminoso3.background_space import get_commonsense_assoc
from colorizer.color_data import make_lab_color_data, lab_to_rgb, rgb_to_hsv
from colorizer.colorvote import weighted_elect_samples

ENGLISH = simplenlp.get('en')
ASSOC = get_commonsense_assoc('en', 100)


COLORDATA = {}
origdata = make_lab_color_data()

def importance_factor(colorname):
    imp = 10000 / math.sqrt(english.word_frequency(colorname.split()[0], 1000000))
    return int(imp)

for key, values in origdata.items():
    subset_values = random.sample(values,
      min(len(values), int(math.ceil(importance_factor(key)*math.sqrt(len(values))))))
    COLORDATA[key] = subset_values


def output_colors(labcolors):
    return [lab_to_rgb(c) for c in sorted(labcolors)]

class IncrementalColorizer(object):
    def __init__(self, ncolors):
        self.ncolors = ncolors
        self.colors = [(128,128,128)] * ncolors