예제 #1
0
    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
예제 #2
0
 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
예제 #3
0
    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")
예제 #4
0
    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
            )