12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- # module file which contains all image metrics used in project
- from numpy.linalg import svd
- from PIL import Image
- import matplotlib.pyplot as plt
- from scipy import misc
- import time
- import numpy as np
- from sklearn import preprocessing
- import modules.model_helper.image_conversion as img_c
- '''
- Method which extracts SVD features from image and returns 's' vector
- @return 's' vector
- '''
- def get_s_model_data(image):
- U, s, V = svd(image, full_matrices=False)
- size = len(s)
- # normalized output
- output_normalized = preprocessing.normalize(s, norm='l1', axis=0, copy=True, return_norm=False)
- result = output_normalized.reshape([size, 1, 3])
- return result
- def get_s_model_data_img(image):
- fig_size = plt.rcParams["figure.figsize"]
- fig_size[0] = 1
- fig_size[1] = 1
- plt.rcParams["figure.figsize"] = fig_size
- U, s, V = svd(image, full_matrices=False)
- plt.figure() # create a new figure
- output_normalized = preprocessing.normalize(s, norm='l1', axis=0, copy=True, return_norm=False)
- plt.plot(output_normalized[70:100, 0])
- plt.plot(output_normalized[70:100:, 1])
- plt.plot(output_normalized[70:100:, 2])
- img = img_c.fig2img(plt.gcf())
- plt.close('all')
- return img
- def get(image):
- return svd(image, full_matrices=False)
- def get_s(image):
- U, s, V = svd(image, full_matrices=False)
- return s
- def get_U(image):
- U, s, V = svd(image, full_matrices=False)
- return U
- def get_V(image):
- U, s, V = svd(image, full_matrices=False)
- return V
|