/
linearSVM_learning.py
48 lines (46 loc) · 1.14 KB
/
linearSVM_learning.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
__author__ = 'Wong Sylvia'
from skimage import data, io, filter
from skimage.color import rgb2gray
from skimage import data
from skimage import transform
import matplotlib.pyplot as plt
import matplotlib.image as mpimg
from sklearn import svm
import numpy
from myHog import hog
import cPickle as pickle
imgs = []
results = []
for i in range(2000):
if i <= 98 and i > 8:
ori_IMG = 'images/000' + str(i+1) + '.jpg'
imgs.append(ori_IMG)
elif i > 98 and i <= 998:
ori_IMG = 'images/00' + str(i+1) + '.jpg'
imgs.append(ori_IMG)
elif i > 998 :
ori_IMG = 'images/0' + str(i+1) + '.jpg'
imgs.append(ori_IMG)
else:
ori_IMG = 'images/0000' + str(i+1) + '.jpg'
imgs.append(ori_IMG)
for i in imgs:
# print i
img = mpimg.imread(i)
img = transform.resize(img, numpy.array([64,64]))
img = rgb2gray(img)
result = hog(img)
result = (result.ravel()).tolist()
results.append(result)
f = open('lables.txt')
data = f.readlines()
f.close
for i in range(len(data)):
data[i] = int(data[i][10])
data = data[0:2000]
clf = svm.LinearSVC()
clf.fit(results,data)
filename = "savedLinearSVM2000.pkl"
with open(filename,'w') as f:
pname = pickle.dump(clf,f)
print "DONE!"