Source code for ipfml.processing.compression

"""
Functions for image compression and extraction
"""

# image processing imports
from numpy.linalg import svd


[docs]def get_SVD(image): """Transforms Image using SVD compression Args: image: image to convert into SVD compression Return: U, s, V obtained from SVD compression Usage: >>> from PIL import Image >>> from ipfml.processing import compression >>> img = Image.open('./images/test_img.png') >>> U, s, V = compression.get_SVD(img) >>> U.shape (200, 200, 3) >>> len(s) 200 >>> V.shape (200, 3, 3) """ return svd(image, full_matrices=False)
[docs]def get_SVD_s(image): """Transforms Image into SVD and returns only 's' part Args: image: image to convert Returns: vector of singular values obtained from SVD compression Usage: >>> from PIL import Image >>> from ipfml.processing import compression >>> img = Image.open('./images/test_img.png') >>> s = compression.get_SVD_s(img) >>> len(s) 200 """ U, s, V = svd(image, full_matrices=False) return s
[docs]def get_SVD_U(image): """Transforms Image into SVD and returns only 'U' part Args: image: image to convert Returns: U matrix from SVD compression Usage: >>> from PIL import Image >>> from ipfml.processing import compression >>> img = Image.open('./images/test_img.png') >>> U = compression.get_SVD_U(img) >>> U.shape (200, 200, 3) """ U, s, V = svd(image, full_matrices=False) return U
[docs]def get_SVD_V(image): """Transforms Image into SVD and returns only 'V' part Args: image: image to convert Returns: V matrix obtained from SVD compression Usage : >>> from PIL import Image >>> from ipfml.processing import compression >>> img = Image.open('./images/test_img.png') >>> V = compression.get_SVD_V(img) >>> V.shape (200, 3, 3) """ U, s, V = svd(image, full_matrices=False) return V