def __getFeaturesFromTemplates(self): features = {} images = FileHelper.read_images_in_dir(self.templates_dir) for filename in images: im = cv2.imread(os.path.join(self.templates_dir, filename), cv2.IMREAD_GRAYSCALE) kp, desc = self.detector.detectAndCompute(im, None) logging.debug('{0} - {1} features'.format(filename, len(kp))) # features.append((kp, desc)) features[filename] = (kp, desc) return features
def resize_images(self, dir_in, dir_out, h_size, v_size, make_grey=True): image_files = FileHelper.read_images_in_dir(dir_in) i = 0 for filename in image_files: print filename.split(".")[0] + "_%04d.jpg" # im = imread(os.path.join(in_dir, filename), as_grey= True) im = resize(imread(os.path.join(dir_in, filename)), (h_size, v_size)) if make_grey: im = rgb2gray(im) imsave(os.path.join(dir_out, "image%05d.jpg" % i), im) i += 1
def images_to_csv_file( self, dir_positive, dir_negative, filename_positive="positive.csv", filename_negative="negative.csv" ): positive_images = FileHelper.read_images_in_dir(dir_positive) negative_images = FileHelper.read_images_in_dir(dir_negative) if len(negative_images) > len(positive_images) * 3: negative_images = negative_images[: len(positive_images) * 3] # print "cut negative images" with open(filename_positive, "wb") as f: for filename in positive_images: im = imread(os.path.join(dir_positive, filename), True) f.write(self.__image_to_csv_string(im, 1)) f.write("\n") with open(filename_negative, "w+b") as f: for filename in negative_images: im = imread(os.path.join(dir_negative, filename), True) f.write(self.__image_to_csv_string(im, 0)) f.write("\n")
def slice_images(self, dir_in, dir_out, h_size, v_size): """ 1. Read images from directory and slice they into small images """ # test # A = np.arange(120).reshape((10, 12)) # print A # slice_image_to_small_images(A, out_dir+'image_%04d.jpg') image_files = FileHelper.read_images_in_dir(dir_in) i = 0 for filename in image_files: print filename.split(".")[0] + "_%04d.jpg" # im = imread(os.path.join(dir_in, filename)) # im = rgb2gray(im) im = Image(os.path.join(dir_in, filename)) im.prepare() self.__slice_image_to_small_images( im.image, os.path.join(dir_out, filename.split(".")[0] + "_%04d.jpg"), h_size, v_size )