byrkbrk commited on
Commit
497580e
·
verified ·
1 Parent(s): 912d427

update files

Browse files
Files changed (2) hide show
  1. app.py +6 -3
  2. image_blurring.py +3 -3
app.py CHANGED
@@ -6,8 +6,11 @@ from image_blurring import BlurImage
6
  if __name__ == "__main__":
7
  blur_image = BlurImage(device=None)
8
  gr_interface = gr.Interface(
9
- fn=lambda image, prompt, save=False: blur_image.blur(image, prompt.split("\n"), save=save),
10
- inputs=[gr.Image(type="pil"), gr.Textbox(lines=3, placeholder="jacket\ndog head\netc...")],
11
- outputs=gr.Image(type="pil")
 
 
 
12
  )
13
  gr_interface.launch()
 
6
  if __name__ == "__main__":
7
  blur_image = BlurImage(device=None)
8
  gr_interface = gr.Interface(
9
+ fn=lambda image, prompt, intensity, save=False: blur_image.blur(image, prompt.split("\n"), intensity, save=save),
10
+ inputs=[gr.Image(type="pil"),
11
+ gr.Textbox(lines=3, placeholder="jacket\ndog head\netc..."),
12
+ gr.Slider(minimum=0, maximum=400, step=10, value=50, label="Blur intensity")],
13
+ outputs=gr.Image(type="pil"),
14
+ title="Blur Objects by Prompts"
15
  )
16
  gr_interface.launch()
image_blurring.py CHANGED
@@ -20,7 +20,7 @@ class BlurImage(object):
20
  self.sam = SAM(model=sam_ckpt)
21
  self.create_dirs(self.module_dir)
22
 
23
- def blur(self, image, text_prompts, labels=None, save=True, size=None):
24
  """Returns blurred image based on given text prompt"""
25
  if type(image) == str:
26
  image_name = image
@@ -30,7 +30,7 @@ class BlurImage(object):
30
  if size: image = self.resize_image(image, size)
31
 
32
  aggregated_mask = self.get_aggregated_mask(image, text_prompts, labels)
33
- blurred_image = self.blur_entire_image(image)
34
  blurred_image[:, ~aggregated_mask] = transforms.functional.pil_to_tensor(image)[:, ~aggregated_mask]
35
  blurred_image = transforms.functional.to_pil_image(blurred_image)
36
  if save:
@@ -93,7 +93,7 @@ class BlurImage(object):
93
  return annotations
94
 
95
  def read_image(self, root, base_folder, image_name, size=None):
96
- """Returns the openned image for given image name, base folder, and root"""
97
  image = Image.open(os.path.join(root, base_folder, image_name))
98
  if size:
99
  image = self.resize_image(image, size)
 
20
  self.sam = SAM(model=sam_ckpt)
21
  self.create_dirs(self.module_dir)
22
 
23
+ def blur(self, image, text_prompts, blur_intensity=50, labels=None, save=True, size=None):
24
  """Returns blurred image based on given text prompt"""
25
  if type(image) == str:
26
  image_name = image
 
30
  if size: image = self.resize_image(image, size)
31
 
32
  aggregated_mask = self.get_aggregated_mask(image, text_prompts, labels)
33
+ blurred_image = self.blur_entire_image(image, radius=blur_intensity)
34
  blurred_image[:, ~aggregated_mask] = transforms.functional.pil_to_tensor(image)[:, ~aggregated_mask]
35
  blurred_image = transforms.functional.to_pil_image(blurred_image)
36
  if save:
 
93
  return annotations
94
 
95
  def read_image(self, root, base_folder, image_name, size=None):
96
+ """Returns the openned for given image name base folder, and root"""
97
  image = Image.open(os.path.join(root, base_folder, image_name))
98
  if size:
99
  image = self.resize_image(image, size)