我已经从jpg中读取了一个图像并转换为numpy数组。我压缩了图像,现在需要编写一个新函数来返回压缩(截断的SVD)表示所使用的“等效像素”的数量。
def compress_image(I, k):
U, s, V = svd(I, full_matrices=False)
U= U[:,:k]
V= np.dot(np.diag(s[:k]),V[:k,:])
return (s, U, V)
这工作:
def size_compressed_image(Sigma, Uk, VkT):
byte=8 #constant
m,k=Uk.shape
k2,n=VkT.shape
assert k ==k2
return byte* (m*k+k+k*n)