日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

pca图像压缩python_基于PCA的图像降维及图像重构

發布時間:2024/7/23 python 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 pca图像压缩python_基于PCA的图像降维及图像重构 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1 PCA簡述

PCA(Principal Component Analysis)主成分分析算法,在進行圖像識別以及高維度數據降維處理中有很強的應用性,算法主要通過計算選擇特征值較大的特征向量來對原始數據進行線性變換,不僅可以去除無用的噪聲,還能減少計算量。

2算法過程

2.1對所有的樣本進行中心化;

數據集的每個樣本的不同特征減去所有樣本對應特征的均值,處理過的不同特征上的數據均值為0。這樣處理的好處是可以減少特征之間的差異性,可以使得不同的特征具有相同的尺度,讓不同特征對參數的影響程度一致。

2.2計算樣本的協方差矩陣(每列代表一個特征,每行代表一個樣本)

2.2.1 計算樣本矩陣每一列的均值

2.2.2 樣本矩陣的每個樣本減去對應列的均值

2.2.3 通過以下公式得到協方差矩陣 (m為樣本總數)

2.3對協方差矩陣進行特征值分解,得到特征值和特征向量;

2.4取出最大的k個特征值對應的特征向量,組成投影矩陣W;

2.5對樣本集中的每一個樣本,都乘以投影矩陣W進行轉化,得到降維的數據;

3Python代碼實例

#encoding:GBK

"""

Created on 2019/09/23 16:19:11

@author: Sirius_xuan

"""

'''

基于PCA的圖像降維及重構

'''

import numpy as np

import cv2 as cv

#數據中心化

def Z_centered(dataMat):

rows,cols=dataMat.shape

meanVal = np.mean(dataMat, axis=0) # 按列求均值,即求各個特征的均值

meanVal = np.tile(meanVal,(rows,1))

newdata = dataMat-meanVal

return newdata, meanVal

#協方差矩陣

def Cov(dataMat):

meanVal = np.mean(data,0) #壓縮行,返回1*cols矩陣,對各列求均值

meanVal = np.tile(meanVal, (rows,1)) #返回rows行的均值矩陣

Z = dataMat - meanVal

Zcov = (1/(rows-1))*Z.T * Z

return Zcov

#最小化降維造成的損失,確定k

def Percentage2n(eigVals, percentage):

sortArray = np.sort(eigVals) # 升序

sortArray = sortArray[-1::-1] # 逆轉,即降序

arraySum = sum(sortArray)

tmpSum = 0

num = 0

for i in sortArray:

tmpSum += i

num += 1

if tmpSum >= arraySum * percentage:

return num

#得到最大的k個特征值和特征向量

def EigDV(covMat, p):

D, V = np.linalg.eig(covMat) # 得到特征值和特征向量

k = Percentage2n(D, p) # 確定k值

print("保留99%信息,降維后的特征個數:"+str(k)+"\n")

eigenvalue = np.argsort(D)

K_eigenValue = eigenvalue[-1:-(k+1):-1]

K_eigenVector = V[:,K_eigenValue]

return K_eigenValue, K_eigenVector

#得到降維后的數據

def getlowDataMat(DataMat, K_eigenVector):

return DataMat * K_eigenVector

#重構數據

def Reconstruction(lowDataMat, K_eigenVector, meanVal):

reconDataMat = lowDataMat * K_eigenVector.T + meanVal

return reconDataMat

#PCA算法

def PCA(data, p):

dataMat = np.float32(np.mat(data))

#數據中心化

dataMat, meanVal = Z_centered(dataMat)

#計算協方差矩陣

#covMat = Cov(dataMat)

covMat = np.cov(dataMat, rowvar=0)

#得到最大的k個特征值和特征向量

D, V = EigDV(covMat, p)

#得到降維后的數據

lowDataMat = getlowDataMat(dataMat, V)

#重構數據

reconDataMat = Reconstruction(lowDataMat, V, meanVal)

return reconDataMat

def main():

imagePath = 'D:/desktop/banana.jpg'

image = cv.imread(imagePath)

image=cv.cvtColor(image,cv.COLOR_BGR2GRAY)

rows,cols=image.shape

print("降維前的特征個數:"+str(cols)+"\n")

print(image)

print('----------------------------------------')

reconImage = PCA(image, 0.99)

reconImage = reconImage.astype(np.uint8)

print(reconImage)

cv.imshow('test',reconImage)

cv.waitKey(0)

cv.destroyAllWindows()

if __name__=='__main__':

main()

4 結果

重構前

重構后

5 總結

不難發現,在保留99%信息的情況下,維度由1000降到了44,這大大減小了圖像分類時的計算量,重構前和重構后的特征依然明顯,讀者也可自行調整percentage參數,體驗PCA的效果。

PS:喜歡的讀者,歡迎隨時評論,覺得受益的話,給博主點個贊吧!!

總結

以上是生活随笔為你收集整理的pca图像压缩python_基于PCA的图像降维及图像重构的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 丝袜视频在线 | 91高清无打码 | 一区免费 | 无码国产精品一区二区免费式直播 | 国产精品91视频 | 色吧在线观看 | 麻豆久久久久久久久久 | 国产超碰91 | 求毛片网站 | 欧美成人精品一区 | 国产性猛交普通话对白 | 一级黄色录相 | 无码人妻一区二区三区在线 | 亚洲狠狠婷婷综合久久久久图片 | 精品视频在线观看一区二区 | 韩国久久久久久 | 成人福利社| 色狠| 久久视频一区二区 | 欧美色88 | 色噜噜在线播放 | 免费观看在线视频 | 久久午夜国产 | 日本二区视频 | 日韩欧美自拍偷拍 | 欧美日韩激情在线一区二区三区 | 少妇脚交调教玩男人的视频 | 秋霞在线一区 | 中国av免费 | 免费无码国产精品 | 亚洲成年人影院 | 久久黄色一级 | 狠狠的干狠狠的操 | 天天操人人射 | 五月婷婷伊人网 | 人人妻人人澡人人爽人人精品 | 天天有av| 黄色大全免费观看 | 动漫美女被吸奶 | 免费网站黄色 | av色播 | 亚洲婷婷免费 | 女同性恋一区二区三区 | 在线黄网 | 国产一区二区久久久 | 韩国电影大尺度在线观看 | 欧美午夜在线 | 国产传媒视频在线观看 | 中文字幕第11页 | 99九九久久| 美女色综合 | 国产精品99久久久久久一二区 | 男人的天堂久久久 | 色图自拍 | 五月婷婷视频 | 色婷婷久久五月综合成人 | 国产日韩亚洲 | 成人开心网 | 男人天堂av在线播放 | 999久久久精品视频 亚洲视频精品在线 | 人妻久久久一区二区三区 | 6090伦理| 一区二区三区不卡视频 | 最近中文字幕免费 | 国产女人视频 | 亚洲久久在线 | 欧美在线一区二区 | 国产一级淫片a视频免费观看 | 久久夜色精品国产欧美乱 | 亚洲丝袜av | 一区二区毛片 | 无码人妻久久一区二区三区不卡 | 大香伊人 | 亚洲精品免费观看 | 蜜臀视频一区二区三区 | 中文乱码人妻一区二区三区视频 | 12av在线| 亚洲图片综合区 | 久久字幕| 中文字幕+乱码+中文乱码www | 色综合久久88 | 麻豆国产精品视频 | 国产午夜精品在线 | 7777精品视频 | 奇米网888| 国产精品国产三级国产aⅴ无密码 | 最近中文字幕在线视频 | 久久99伊人 | 欧美区一区二 | 九九热精品在线观看 | 日日夜夜一区 | 97精品视频在线 | 日韩精品在线网站 | 成人av专区 | 成年人在线免费观看网站 | 欧洲视频一区 | 草草地址线路①屁屁影院成人 | 欧美在线一区二区三区四区 | 欧美精品久久久久久久久老牛影院 |