版权声明:本文为博主原创文章,转载请注明作者和出处。https://blog.csdn.net/xq920831/article/details/85259829
原文地址:https://blog.csdn.net/baidu_28342107/article/details/83307633
根据原文稍作改动
读取图片处改动
代码如下
cate = [path+x for x in os.listdir(path) if os.path.isdir(path+x)]
cate1 = [path1+x for x in os.listdir(path1) if os.path.isdir(path1+x)]
for idx,folder in enumerate(cate):
for im in glob.glob(folder+'/*.jpg'):
#打开一张图片并灰度化
Images = cv2.imread(im)
image=cv2.resize(Images,(256,256),interpolation=cv2.INTER_CUBIC)
hist = cv2.calcHist([image], [0,1], None, [256,256], [0.0,255.0,0.0,255.0])
X_train.append((hist/255).flatten())
y_train.append(idx)
X_train = np.array(X_train)
y_train = np.array(y_train)
for idx,folder in enumerate(cate1):
for im in glob.glob(folder+'/*.jpg'):
#打开一张图片并灰度化
Images = cv2.imread(im)
image=cv2.resize(Images,(256,256),interpolation=cv2.INTER_CUBIC)
hist = cv2.calcHist([image], [0,1], None, [256,256], [0.0,255.0,0.0,255.0])
X_test.append((hist/255).flatten())
y_test.append(idx)
X_test = np.array(X_test)
y_test = np.array(y_test)
最后的BP训练需要改成自己的类别数量
clf0 = BP([X_train.shape[1],6],6).fit(X_train,y_train,epochs=100)