In [15]:
#import
import matplotlib.pyplot as plt
from glob import glob
import numpy as np
import scipy.ndimage as ndimg
from skimage.filter import canny
import skimage.transform as transform
%matplotlib inline

In [27]:
def layer_mean(img2d):
    img1d = img2d[img2d<255]
    return img1d.mean()

def hist_max(img2d):
    img1d = img2d[img2d<255]
    print img1d.min()
    print img1d.max()
    [n, bins, patches]= plt.hist(img1d, np.arange(255))
    return bins[n.argmax()]

def edge_length(img2d):
    "gray input"
    imgsize = float((img2d.shape[0]*img2d.shape[1]))
    med_filter = ndimg.median_filter(img2d, size = (5,5))
    edges = filter.canny(med_filter,3)
    return edges.sum()/imgsize

def edge_sobel_h(img2d):
    "gray input"
    imgsize = float((img2d.shape[0]*img2d.shape[1]))
    med_filter = ndimg.median_filter(img2d, size = (5,5))
    edges_h = filter.hsobel(med_filter/255.)
    return edges_h.sum()/imgsize

def edge_sobel_v(img2d):
    "gray input"
    imgsize = float((img2d.shape[0]*img2d.shape[1]))
    med_filter = ndimg.median_filter(img2d, size = (5,5))
    edges_v = filter.vsobel(med_filter/255.)
    return edges_v.sum()/imgsize

def edge_sobel(img2d):
    "gray input"
    imgsize = float((img2d.shape[0]*img2d.shape[1]))
    med_filter = ndimg.median_filter(img2d, size = (5,5))
    edges = filter.sobel(med_filter/255.)
    return edges.sum()/imgsize

def houghLine(img2d):
    "gray input"
    med_filter = ndimg.median_filter(img2d, size = (5,5))
    edges = filter.sobel(med_filter/255.)
    [H,theta,distances] = transform.hough_line(edges)
    imgsize = float(len(theta)*len(distances))
    return H.sum()/imgsize

In [4]:
categ = ['airplanes']
for categ_idx, subfolder in enumerate(categ):
    for fileName in glob('50_categories/'+subfolder+'/*0001.jpg'):       
        img = ndimg.imread(fileName)
        img_gray = ndimg.imread(fileName, flatten=True)

In [5]:
medfilted = ndimg.median_filter(img_gray,size=(5,5))
plt.figure()
plt.imshow(medfilted,cmap=plt.cm.gray);

In [6]:
edges = canny(medfilted/255.,3)

In [17]:
import skimage.filter as filter
sob = filter.sobel(medfilted/255.)
plt.figure()
plt.imshow(sob, cmap=plt.cm.gray)
plt.figure()
plt.hist(sob.flatten(),np.arange(100)/1000.);



In [18]:
[n,bins,patches] = plt.hist(img_gray.flatten(),np.arange(255))
plt.figure()
plt.plot(bins[:-1],n)


Out[18]:
[<matplotlib.lines.Line2D at 0x10a47a250>]

In [19]:
bins[n.argmax()]


Out[19]:
210

In [163]:
np.arange(3)


Out[163]:
array([0, 1, 2])

In [1]:
img_gray.shape


---------------------------------------------------------------------------
NameError                                 Traceback (most recent call last)
<ipython-input-1-6fee6844e4fb> in <module>()
----> 1 img_gray.shape

NameError: name 'img_gray' is not defined

In [26]:
hist_max(img[...,0])


0
254
Out[26]:
253

In [ ]: