import cv2 import numpy as np import pickle as pickle import os def resize(max_side, img): if img.shape[1] > img.shape[0]: r = max_side / img.shape[1] dim = (max_side, int(img.shape[0] * r)) else: r = max_side / img.shape[0] dim = (int(img.shape[1] * r), max_side) # perform the actual resizing of the image and show it resized = cv2.resize(img, dim, interpolation=cv2.INTER_AREA) return resized def pickle_img_lf(dest, id, keypoints, descriptors): dest_folder_name = id[0:3] filename = id + '.dat' dest_folder_path = os.path.join(dest, dest_folder_name) if (not os.path.exists(dest_folder_path)): os.mkdir(dest_folder_path) dest_path = os.path.join(dest_folder_path, filename) kps = np.float32([keypoints[i].pt for i in range(0, len(keypoints))]) pickle.dump([kps, descriptors], open(dest_path, 'wb')) def unpickle_img_lf(lf_path, id): dest_folder_name = id[0:3] filename = id + '.dat' dest_folder_path = os.path.join(lf_path, dest_folder_name) dest_path = os.path.join(dest_folder_path, filename) kps, des = pickle.load((open(dest_path, "rb"))) return kps, des def delete_img_lf(dest, id): dest_folder_name = id[0:3] filename = id + '.dat' dest_folder_path = os.path.join(dest, dest_folder_name) dest_path = os.path.join(dest_folder_path, filename) if os.path.exists(dest_path): os.remove(dest_path) if not os.listdir(dest_folder_path): os.rmdir(dest_folder_path)