omar87 commited on
Commit
d962e6c
·
1 Parent(s): 91e9243

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +13 -8
app.py CHANGED
@@ -15,31 +15,36 @@ def calculate_similarity(img1, img2):
15
  def compute_similarity(target_image, image_list):
16
  scores = []
17
  target_image_resized = cv2.resize(target_image, (target_image.shape[1], target_image.shape[0]))
18
- for image in image_list:
 
19
  image_resized = cv2.resize(image, (target_image.shape[1], target_image.shape[0]))
20
  similarity_score = calculate_similarity(target_image_resized, image_resized)
21
  scores.append(similarity_score)
22
  return scores
23
 
24
  # Function to handle the Gradio interface
25
- def image_similarity(target_image, image):
26
  target_image = target_image.astype(np.uint8)
27
- image = image.astype(np.uint8)
28
- scores = compute_similarity(target_image, [image])
29
- result = f"Image: {image.tolist()}\nScore: {scores[0]:.4f}"
30
- return [result]
 
 
 
31
 
32
  # Prepare Gradio interface
33
  iface = gr.Interface(
34
  fn=image_similarity,
35
  inputs=[
36
  gr.inputs.Image(type="numpy", label="Target Image"),
37
- gr.inputs.Image(type="numpy", label="Image")
38
  ],
39
  outputs="text",
40
  title="Image Similarity Calculator",
41
- description="Upload a target image and another image. Get the similarity score."
42
  )
43
 
44
  # Launch the interface
45
  iface.launch()
 
 
15
  def compute_similarity(target_image, image_list):
16
  scores = []
17
  target_image_resized = cv2.resize(target_image, (target_image.shape[1], target_image.shape[0]))
18
+ for image_path in image_list:
19
+ image = cv2.imread(image_path)
20
  image_resized = cv2.resize(image, (target_image.shape[1], target_image.shape[0]))
21
  similarity_score = calculate_similarity(target_image_resized, image_resized)
22
  scores.append(similarity_score)
23
  return scores
24
 
25
  # Function to handle the Gradio interface
26
+ def image_similarity(target_image, image_folder):
27
  target_image = target_image.astype(np.uint8)
28
+ image_paths = gr.Interface.get_filepaths(image_folder)
29
+ scores = compute_similarity(target_image, image_paths)
30
+ results = []
31
+ for image_path, score in zip(image_paths, scores):
32
+ result = f"Image: {image_path}\nScore: {score:.4f}\n"
33
+ results.append(result)
34
+ return "".join(results)
35
 
36
  # Prepare Gradio interface
37
  iface = gr.Interface(
38
  fn=image_similarity,
39
  inputs=[
40
  gr.inputs.Image(type="numpy", label="Target Image"),
41
+ gr.inputs.ImageFolder(label="Image Folder")
42
  ],
43
  outputs="text",
44
  title="Image Similarity Calculator",
45
+ description="Upload a target image and select a folder containing images. Get similarity scores."
46
  )
47
 
48
  # Launch the interface
49
  iface.launch()
50
+