%matplotlib inline from utils import * train_fs = build_feature_vecture(train) test_fs = build_feature_vecture(test) save_pickle(train_fs, 'train_fa.pickle') from sklearn import datasets, svm, metrics, cross_validation print "Start learning" start_time = time.time() clf = svm.SVC(gamma=0.001) clf.fit(train_fs, train_labels[:len(train_fs)]) end_time = time.time() print "Finished learning" print("Elapsed time was %g seconds" % (end_time - start_time)) fname = get_image_by_class(foods,1) plt.figure(1) plt.imshow(imread(fname)) classify(clf, fname) img = imread(foods[4][0]) print foods[4][1] print img.shape #fig, axs = plt.subplots(1,3) plt.figure(1) plt.imshow(img) plt.colorbar() plt.figure(2) plt.imshow(color.rgb2hsv(img)) plt.colorbar() orientations = 9 cell = 3 block = 1 f, hog = feature.hog(color.rgb2gray(img), orientations=orientations, pixels_per_cell=(cell, cell), cells_per_block=(block, block), visualise =True) plt.figure(3) plt.imshow(hog) plt.colorbar() from skimage.util import img_as_float from skimage import exposure from skimage.morphology import disk from skimage.filter import rank def plot_img_and_hist(img, axes, bins=256): """Plot an image along with its histogram and cumulative histogram. """ img = img_as_float(img) ax_img, ax_hist = axes ax_cdf = ax_hist.twinx() # Display image ax_img.imshow(img, cmap=plt.cm.gray) #ax_img.set_axis_off() # Display histogram ax_hist.hist(img.ravel(), bins=bins, histtype='step', color='black') ax_hist.ticklabel_format(axis='y', style='scientific', scilimits=(0, 0)) ax_hist.set_xlabel('Pixel intensity') ax_hist.set_xlim(0, 1) ax_hist.set_yticks([]) # Display cumulative distribution img_cdf, bins = exposure.cumulative_distribution(img, bins) ax_cdf.plot(bins, img_cdf, 'r') ax_cdf.set_yticks([]) return ax_img, ax_hist, ax_cdf plt.rcParams['font.size'] = 9 fig, axes = plt.subplots(2, 3, figsize=(16,8)) ax_img, ax_hist, ax_cdf = plot_img_and_hist(img, axes[:, 0]) ax_img.set_title('Low contrast image') ax_hist.set_ylabel('Number of pixels') fig.subplots_adjust(wspace=0.4) img = imread(foods[4][0]) print foods[4][1] print img.shape f, hog = feature.hog(color.rgb2gray(img), orientations=orientations, pixels_per_cell=(cell, cell), cells_per_block=(block, block), visualise =True) plt.figure(1) plt.imshow(hog) plt.colorbar()