91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

資源簡介

對單個圖片進行k-svd進行稀疏表示,求出迭代后的字典和稀疏編碼,并通過字典和稀疏編碼進行重建原圖像,該代碼是2006年k-svd算法提出者的簡單實現代碼,對小白有一定幫助

資源截圖

代碼片段和文件信息

import?numpy?as?np
from?sklearn?import?linear_model
import?scipy.misc
from?PIL?import?Image
from?matplotlib?import?pyplot?as?plt
from?time?import?time


class?KSVD(object):
????def?__init__(self?n_components?max_iter=50?tol=1e-6
?????????????????n_nonzero_coefs=None):
????????“““
????????稀疏模型Y?=?DX,Y為樣本矩陣,使用KSVD動態更新字典矩陣D和稀疏矩陣X
????????:param?n_components:?字典所含原子個數(字典的列數)
????????:param?max_iter:?最大迭代次數
????????:param?tol:?稀疏表示結果的容差
????????:param?n_nonzero_coefs:?稀疏度
????????“““
????????self.dictionary?=?None
????????self.sparsecode?=?None
????????self.max_iter?=?max_iter
????????self.tol?=?tol
????????self.n_components?=?n_components
????????self.n_nonzero_coefs?=?n_nonzero_coefs

????#def?_initialize(self?y):
????????“““
????????初始化字典矩陣
????????“““
???????#?u?s?v?=?np.linalg.svd(y)
????????#self.dictionary?=?u[:?:self.n_components]

????def?_update_dict(self?y?d?x):
????????“““
????????使用KSVD更新字典的過程
????????“““
????????for?i?in?range(self.n_components):
????????????index?=?np.nonzero(x[i?:])[0]
????????????if?len(index)?==?0:
????????????????continue

????????????d[:?i]?=?0
????????????r?=?(y?-?np.dot(d?x))[:?index]
????????????u?s?v?=?np.linalg.svd(r?full_matrices=False)
????????????d[:?i]?=?u[:?0].T
????????????x[i?index]?=?s[0]?*?v[0?:]
????????print?(d[3?:])
????????print?(“_____“)
????????print?(x[i?:])
???

評論

共有 條評論