itertools.product(ncolors, npca, svmgamma, svmC, graphcut_lambda, input_files)) p = params[0] #which parameter range this node should use #chunk_size = int(len(input_files)/comm.size) #start = comm.rank * chunk_size #stop = start + chunk_size c = Colorizer(ncolors=p[0], npca=p[1], svmgamma=p[2], svmC=p[3], graphcut_lambda=p[4]) #train the classifiers c.train(training_files) try: print(input_files[comm.rank]) #for now, convert an already RGB image to grayscale for our input grayscale_image = get_grayscale_from_color(input_files[comm.rank]) #colorize the input image colorized_image, g = c.colorize(grayscale_image, skip=2) #save the outputs #cv2.imwrite('output_gray.jpg', grayscale_image) #cv2.imwrite('output_color.jpg', cv2.cvtColor(colorized_image, cv.CV_RGB2BGR))
chunk_size = int(len(params)/comm.size) start = comm.rank * chunk_size stop = start + chunk_size #print('image, ncolors, npca, svmgamma, svmC, graphcut_lambda, ntrain, avgError') for (ind, p) in enumerate(params[start:stop]): try: # print('image: %d\t ncolors=%f, npca=%f, svmgamma=%f, svmC=%f, graphcut_lambda=%f, ntrain=%f'%(comm.rank*chunk_size+ind, p[0], p[1], p[2], p[3], p[4], p[5])) c = Colorizer(ncolors=p[0], npca=p[1], svmgamma=p[2], svmC=p[3], graphcut_lambda=p[4], ntrain = p[5]) # c = Colorizer(ncolors=4, npca=32, svmgamma=0.1, svmC=0.25, graphcut_lambda=0.5, ntrain = 1000) #train the classifiers c.train(training_files) #for now, convert an already RGB image to grayscale for our input grayscale_image = get_grayscale_from_color(input_file) #colorize the input image colorized_image, g = c.colorize(grayscale_image,skip=1) colorized_image = c.smooth(colorized_image) #save the outputs #cv2.imwrite('output_gray.jpg', grayscale_image) #cv2.imwrite('output_color.jpg', cv2.cvtColor(colorized_image, cv.CV_RGB2BGR)) l, a, b = cv2.split(cv2.cvtColor(colorized_image, cv.CV_RGB2Lab)) newColorMap = cv2.cvtColor(cv2.merge((128*np.uint8(np.ones(np.shape(l))),a,b)), cv.CV_Lab2BGR)
training_images = ["images/grass1.jpg","images/grass2.jpg"] test_image = skio.imread("images/grass3.jpg") #getting the right featurizer f = Featurizer(training_images) f.compute_k_means() print "Getting features..." f.compute_features() gray_test = get_grayscale(test_image) #getting the right colorizer colorizer = Colorizer(f) print "Starting Training of SVMs..." colorizer.train() #running the experiment print "Colorizing Image..." colored_image = colorizer.color_image(gray_test) print "Grayscale Image" skio.imshow(gray_test) skio.show() print "Colorized Image" skio.imshow(colored_image) skio.show() skio.imsave("results/" + test_image.split("/")[1],colored_image)
#input_file = 'test/chris.jpg' #training_files = ['images/houses/calhouse_0001.jpg' ] #input_file = 'images/houses/calhouse_0002.jpg' #training_files = ['test/ch1.jpg'] #input_file = 'test/ch1.jpg' #training_files = ['images/cats/cat.jpg','images/cats/cats4.jpg'] #input_file = 'images/cats/cats3.jpg' c = Colorizer(probability=False) x = sc.parallelize([1]) #train the classifiers x = x.map(lambda y: c.train(training_files)) y = x.collect() c = y[0] #for now, convert an already RGB image to grayscale for our input grayscale_image = get_grayscale_from_color(input_file) #colorize the input image colorized_image, g = c.colorize(grayscale_image, skip=8) print('min g = %f, max g = %f' % (np.min(g), np.max(g))) #save the outputs cv2.imwrite('output_gray.jpg', grayscale_image) cv2.imwrite('output_color.jpg', cv2.cvtColor(colorized_image, cv.CV_RGB2BGR))
#input_file = 'test/chris.jpg' #training_files = ['images/houses/calhouse_0001.jpg' ] #input_file = 'images/houses/calhouse_0002.jpg' #training_files = ['test/ch1.jpg'] #input_file = 'test/ch1.jpg' #training_files = ['images/cats/cat.jpg','images/cats/cats4.jpg'] #input_file = 'images/cats/cats3.jpg' c = Colorizer(probability=False) x = sc.parallelize([1]) #train the classifiers x = x.map(lambda y: c.train(training_files)) y = x.collect() c = y[0] #for now, convert an already RGB image to grayscale for our input grayscale_image = get_grayscale_from_color(input_file) #colorize the input image colorized_image, g = c.colorize(grayscale_image,skip=8) print('min g = %f, max g = %f'%(np.min(g), np.max(g))) #save the outputs cv2.imwrite('output_gray.jpg', grayscale_image) cv2.imwrite('output_color.jpg', cv2.cvtColor(colorized_image, cv.CV_RGB2BGR))