import os,cv2
import numpy as np
from sklearn.decomposition import IncrementalPCA
from matplotlib import pyplot as plt
input_folders = [ ('classA/','red'),
('classB/','blue') ]
H,W = 64,64
transformer = IncrementalPCA(n_components=2)
for input_folder,color in input_folders:
X = []
for name in os.listdir(input_folder):
path = os.path.join(input_folder, name)
img = cv2.imread(path,0)
X.append(np.reshape(img,(1,-1)))
X = np.vstack(X)
transformer.partial_fit(X)
for input_folder,color in input_folders:
X = []
for name in os.listdir(input_folder):
path = os.path.join(input_folder, name)
img = cv2.imread(path,0)
X.append(np.reshape(img,(1,-1)))
X = np.vstack(X)
X = transformer.transform(X)
x = X[:,0]
y = X[:,1]
plt.scatter(x,y,c=color)
plt.show()