YannisK commited on
Commit
dca7dd8
1 Parent(s): ce1e3e0
Files changed (1) hide show
  1. app.py +16 -6
app.py CHANGED
@@ -74,6 +74,7 @@ def generate_matching_superfeatures(im1, im2, scale_id=6, threshold=50):
74
  att_heat = np.array(attns1[0,i,:,:].numpy(), dtype=np.float32)
75
  att_heat = np.uint8(att_heat / np.max(att_heat[:]) * 255.0)
76
  att_heat_bin = np.where(att_heat>threshold, 255, 0)
 
77
  all_att_bin1.append(att_heat_bin)
78
 
79
  att_heat = np.array(attns2[0,i,:,:].numpy(), dtype=np.float32)
@@ -84,7 +85,8 @@ def generate_matching_superfeatures(im1, im2, scale_id=6, threshold=50):
84
 
85
  fin_img = []
86
  img1rsz = np.copy(im1_cv)
87
- print(img1rsz.size)
 
88
  for j, att in enumerate(all_att_bin1):
89
  att = cv2.resize(att, im1.size, interpolation=cv2.INTER_NEAREST)
90
  # att = cv2.resize(att, imgz[i].shape[:2][::-1], interpolation=cv2.INTER_CUBIC)
@@ -99,7 +101,7 @@ def generate_matching_superfeatures(im1, im2, scale_id=6, threshold=50):
99
  img1rsz[m,n, :] = col_[::-1]
100
  fin_img.append(img1rsz)
101
 
102
- img2rsz = np.copy(im1_cv)
103
  for j, att in enumerate(all_att_bin2):
104
  att = cv2.resize(att, im2.size, interpolation=cv2.INTER_NEAREST)
105
  # att = cv2.resize(att, imgz[i].shape[:2][::-1], interpolation=cv2.INTER_CUBIC)
@@ -124,10 +126,10 @@ def generate_matching_superfeatures(im1, im2, scale_id=6, threshold=50):
124
  plt.tight_layout()
125
  # fig.suptitle("Matching SFs", fontsize=16)
126
 
127
- fig.canvas.draw()
128
- # Now we can save it to a numpy array.
129
- data = np.frombuffer(fig.canvas.tostring_rgb(), dtype=np.uint8)
130
- data = data.reshape(fig.canvas.get_width_height()[::-1] + (3,))
131
  return fig
132
 
133
 
@@ -137,6 +139,13 @@ description = "TBD"
137
  article = "<p style='text-align: center'><a href='https://github.com/naver/fire' target='_blank'>Original Github Repo</a></p>"
138
 
139
 
 
 
 
 
 
 
 
140
  iface = gr.Interface(
141
  fn=generate_matching_superfeatures,
142
  inputs=[
@@ -150,6 +159,7 @@ iface = gr.Interface(
150
  title=title,
151
  description=description,
152
  article=article,
 
153
  examples=[["chateau_1.png", "chateau_2.png", 6, 50]],
154
  )
155
  iface.launch()
 
74
  att_heat = np.array(attns1[0,i,:,:].numpy(), dtype=np.float32)
75
  att_heat = np.uint8(att_heat / np.max(att_heat[:]) * 255.0)
76
  att_heat_bin = np.where(att_heat>threshold, 255, 0)
77
+ print(att_heat_bin)
78
  all_att_bin1.append(att_heat_bin)
79
 
80
  att_heat = np.array(attns2[0,i,:,:].numpy(), dtype=np.float32)
 
85
 
86
  fin_img = []
87
  img1rsz = np.copy(im1_cv)
88
+ print(im1.size)
89
+ print(img1rsz.shape)
90
  for j, att in enumerate(all_att_bin1):
91
  att = cv2.resize(att, im1.size, interpolation=cv2.INTER_NEAREST)
92
  # att = cv2.resize(att, imgz[i].shape[:2][::-1], interpolation=cv2.INTER_CUBIC)
 
101
  img1rsz[m,n, :] = col_[::-1]
102
  fin_img.append(img1rsz)
103
 
104
+ img2rsz = np.copy(im2_cv)
105
  for j, att in enumerate(all_att_bin2):
106
  att = cv2.resize(att, im2.size, interpolation=cv2.INTER_NEAREST)
107
  # att = cv2.resize(att, imgz[i].shape[:2][::-1], interpolation=cv2.INTER_CUBIC)
 
126
  plt.tight_layout()
127
  # fig.suptitle("Matching SFs", fontsize=16)
128
 
129
+ # fig.canvas.draw()
130
+ # # Now we can save it to a numpy array.
131
+ # data = np.frombuffer(fig.canvas.tostring_rgb(), dtype=np.uint8)
132
+ # data = data.reshape(fig.canvas.get_width_height()[::-1] + (3,))
133
  return fig
134
 
135
 
 
139
  article = "<p style='text-align: center'><a href='https://github.com/naver/fire' target='_blank'>Original Github Repo</a></p>"
140
 
141
 
142
+ # css = ".output-image, .input-image {height: 40rem !important; width: 100% !important;}"
143
+ # css = "@media screen and (max-width: 600px) { .output_image, .input_image {height:20rem !important; width: 100% !important;} }"
144
+ # css = ".output_image, .input_image {height: 600px !important}"
145
+ css = ".input_image {height: 600px !important} .output_image, {height: 1200px !important}"
146
+ # css = ".output-image, .input-image {height: 40rem !important; width: 100% !important;}"
147
+
148
+
149
  iface = gr.Interface(
150
  fn=generate_matching_superfeatures,
151
  inputs=[
 
159
  title=title,
160
  description=description,
161
  article=article,
162
+ css=css,
163
  examples=[["chateau_1.png", "chateau_2.png", 6, 50]],
164
  )
165
  iface.launch()