#!/usr/bin/env python2.7

from colors import color_names, colors
from color_classification import min_distance_index, avg_img_color
import cv
import os
import fnmatch

# Check performance
# TODO less hacky way to move to correct directory
os.chdir("test_images")

for color_i in range(0, len(color_names)):
	this_sample_filenames = fnmatch.filter(os.listdir('.'), color_names[color_i]+'*.jpg');
	num_samples = len(this_sample_filenames)
	if num_samples > 0:
		print "Expected Color: " + color_names[color_i]
		print "Classified Color: "
		for sample_i in range(0, num_samples):
			test_image = cv.LoadImage(this_sample_filenames[sample_i])
			min_dist_index = min_distance_index(avg_img_color(test_image))
			print "\t" + color_names[min_dist_index]

Example #2
0
#!/usr/bin/env python2.7

from colors import color_names, colors
import cv
import math
import os
import fnmatch

from color_classification import distance, min_distance_index, avg_img_color, min_index

# Get average color sample values for knowing RGB values for colors
color_sample_dir = "color_samples"
os.chdir(color_sample_dir)

for color_i in range(0, len(color_names)):
	this_sample_filenames = fnmatch.filter(os.listdir('.'), color_names[color_i]+'*.jpg');
	num_samples = len(this_sample_filenames)
	color_tuples = []
	for sample_i in range(0, num_samples):
		color_tuples.append(
				avg_img_color(cv.LoadImage(this_sample_filenames[sample_i])))
	avg_r = sum([color[0] for color	in color_tuples]) / num_samples
	avg_g = sum([color[1] for color	in color_tuples]) / num_samples
	avg_b = sum([color[2] for color	in color_tuples]) / num_samples
	colors[color_i] = (avg_r, avg_g, avg_b)

for color_i in range(0, len(color_names)):
	print color_names[color_i].upper() + "\t=\t" + str(colors[color_i])

os.chdir("..")