def resize_img(infile, outfile):
im = Image.open(infile)
(x, y) = im.size # 读取图像尺寸
x_s = 64 # 定义标准宽度
y_s = y * x_s // x # 根据标准宽度计算高度
out = im.resize((x_s, y_s), Image.ANTIALIAS) # 调整图像大小质量
out.save(outfile)
def plot_vector(dataSet, label, b, alphlas):
xcord1 = []
ycord1 = []
xcord2 = []
ycord2 = []
for i in range(len(dataSet)):
if alphlas[i] == 0.0:
xcord1.append(dataSet[i][0])
ycord1.append(dataSet[i][1])
else:
xcord2.append(dataSet[i][0]) # 支持向量
ycord2.append(dataSet[i][1])
fig = plt.figure()
ax = fig.add_subplot(111)
ax.scatter(xcord1, ycord1, s=30, c='black', marker='s')
ax.scatter(xcord2, ycord2, s=30, c='red')
plt.xlabel('X1')
plt.ylabel('X2')
plt.show()
# 读取训练集,args 样本个数
def loadDataSet(pos_path,pos_count,neg_path,neg_count):
dataSet = []
label = []
posImgs = os.listdir(pos_path) # 正样本
negImgs = os.listdir(neg_path)
for i in range(min(len(posImgs),pos_count)): # 读取正样本
path = pos_path+ '/' + posImgs[i]
img = cv2.imread(path, cv2.IMREAD_GRAYSCALE) # 读取灰度图