def add_positive_sets(self, image_dir, pattern, annotation_path, sample_ratio=1.0, padding=5, augment=True, label=1):
features_set = []
image_files = self._get_image_files(image_dir, pattern, sample_ratio)
for image_file in image_files:
image = cv2.imread(image_file)
image = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)
image_id = utils.get_file_id(image_file)
annotation_file = "{}/annotation_{}.mat".format(annotation_path, image_id)
bb = file_io.FileMat().read(annotation_file)["box_coord"][0]
roi = utils.crop_bb(image, bb, padding=padding, dst_size=self._patch_size)
patches = (roi, cv2.flip(roi, 1)) if augment else (roi,)
# Todo : augment modulization
features = self._desc.describe(patches)
features_set += features.tolist()
labels = np.zeros((len(features_set), 1)) + label
dataset = np.concatenate([labels, np.array(features_set)], axis=1)
self._dataset += dataset.tolist()
评论列表
文章目录