import numpy as np
import matplotlib.pyplot as plt
from sklearn.decomposition import PCA
from skimage import io, color
# 加载图像
img = io.imread(r"D:\YWJ\6_jiaoben_set\10_20_18.jpg")
# 将图像转换为灰度图像
img_gray = color.rgb2gray(img)
# 将图像展平为一维数组
img_flat = img_gray.flatten()
# 对图像进行PCA降维
pca = PCA(n_components=0.95, whiten=True, random_state=40)
img_pca = pca.fit_transform(img_flat.reshape(-1, 1))
# 对降维后的图像进行反变换,得到原始图像矩阵
img_rec = pca.inverse_transform(img_pca)
img_rec = img_rec.reshape(img_gray.shape)
# 绘制原始图像和降维后的图像
fig, ax = plt.subplots(1, 2, figsize=(10, 5))
ax[0].imshow(img_gray, cmap="gray")
ax[0].set_title("Original Image")
ax[1].imshow(img_rec, cmap="gray")
ax[1].set_title("PCA Reconstruction")
plt.savefig("33333.png")
plt.show()
主成分分析(PCA)是一种常见的数据分析技术,它可以用于降维和特征提取。PCA 的作用包括以下几个方面: