mohsayed commited on
Commit
4049dd8
·
1 Parent(s): 3f5407a
Files changed (1) hide show
  1. app.py +26 -7
app.py CHANGED
@@ -43,7 +43,20 @@ else:
43
  init_detector = sys.modules['init_detector']
44
 
45
  ########## utils
46
-
 
 
 
 
 
 
 
 
 
 
 
 
 
47
  def image_resize(image, width = None, height = None, inter = cv2.INTER_AREA):
48
  dim = None
49
  (h, w) = image.shape[:2]
@@ -89,7 +102,8 @@ def loading_model():
89
  from mmdet.apis import set_random_seed
90
  set_random_seed(0, deterministic=False)
91
  cfg = Config.fromfile('./cfgsn.py')
92
- checkpoint = "./200s.pth"
 
93
  model1 = init_detector(cfg, checkpoint, device="cpu")
94
  if model1.cfg.data.test['type'] == 'ConcatDataset':
95
  model1.cfg.data.test.pipeline = model1.cfg.data.test['datasets'][0].pipeline
@@ -114,21 +128,22 @@ def main():
114
 
115
  st.sidebar.write(" ------ ")
116
  st.sidebar.info('Options')
117
- fcolor = st.sidebar.selectbox('boundary color', ['red','green','blue'])
118
  extra_postprocess = st.sidebar.checkbox('perform extra postprocessing',value=True)
 
 
119
  # do_thresh_box = st.sidebar.checkbox('adaptive threshold')
120
 
121
  if btnpredicrupload and f is not None:
122
  tfile = tempfile.NamedTemporaryFile(delete=True)
123
  tfile.write(f.read())
124
  imgpath=tfile.name
125
- run_app(imgpath ,fcolor,extra_post=extra_postprocess)
126
  if submitted:
127
  st.empty()
128
  directory ='./imgs/'
129
  pic = os.path.join(directory, option)
130
  imgpath=directory+option
131
- run_app(imgpath ,fcolor,extra_post=extra_postprocess)
132
  # inp = st.text_input('t2','')
133
  # if st.button('run'):
134
  # subprocess.run(inp.split(' '))
@@ -165,13 +180,17 @@ def run_app(imgpath,fcolor,**kwargs):
165
  ff= fixer(img,preds,img_metas,downsample_ratio)
166
  polys= ff.polysfin3
167
  if kwargs['extra_post']:
168
- polys =find_polys4(ff)
 
 
 
 
169
 
170
 
171
  # with open('./0.json','r') as f:
172
  # res = json.load(f)
173
  ################
174
- mm = utilss.draw_conts(img,[poly2cont(p) for p in polys],fcolor)
175
  ## mm=image_resize(mm, width = 640)
176
  #######
177
  # mm=preds[1]*preds[0]
 
43
  init_detector = sys.modules['init_detector']
44
 
45
  ########## utils
46
+ def draw_conts(im,conts,fcolor,stroke):
47
+ opacity = .3
48
+ im =im.copy()
49
+ # fcolor =fcolor if fcolor else get_random_color()
50
+ frontmm = np.full_like(im,fcolor,np.uint8)
51
+ mask = np.zeros_like(im)
52
+ for cont in conts:
53
+ cv2.drawContours(mask, [cont], -1, color=[int(opacity*255)]*3, thickness=cv2.FILLED)
54
+ mask = cv2.cvtColor(mask, cv2.COLOR_BGR2GRAY)
55
+ rgba = np.dstack((frontmm, mask))
56
+ im = utilss.overlay_image_alpha(im,rgba)
57
+ # drawline
58
+ cv2.drawContours(im, conts, -1, color=fcolor, thickness=stroke)
59
+ return im
60
  def image_resize(image, width = None, height = None, inter = cv2.INTER_AREA):
61
  dim = None
62
  (h, w) = image.shape[:2]
 
102
  from mmdet.apis import set_random_seed
103
  set_random_seed(0, deterministic=False)
104
  cfg = Config.fromfile('./cfgsn.py')
105
+ # checkpoint = "./200s.pth"
106
+ checkpoint = "./epoch_100.pth"
107
  model1 = init_detector(cfg, checkpoint, device="cpu")
108
  if model1.cfg.data.test['type'] == 'ConcatDataset':
109
  model1.cfg.data.test.pipeline = model1.cfg.data.test['datasets'][0].pipeline
 
128
 
129
  st.sidebar.write(" ------ ")
130
  st.sidebar.info('Options')
 
131
  extra_postprocess = st.sidebar.checkbox('perform extra postprocessing',value=True)
132
+ fcolor = st.sidebar.selectbox('boundary color', ['red','green','blue'],index =0)
133
+ fstroke = st.sidebar.selectbox('boundary thickness', ['1','2','3'] ,index=1 )
134
  # do_thresh_box = st.sidebar.checkbox('adaptive threshold')
135
 
136
  if btnpredicrupload and f is not None:
137
  tfile = tempfile.NamedTemporaryFile(delete=True)
138
  tfile.write(f.read())
139
  imgpath=tfile.name
140
+ run_app(imgpath ,fcolor,extra_post=extra_postprocess,fstroke=fstroke)
141
  if submitted:
142
  st.empty()
143
  directory ='./imgs/'
144
  pic = os.path.join(directory, option)
145
  imgpath=directory+option
146
+ run_app(imgpath ,fcolor,extra_post=extra_postprocess,fstroke=fstroke)
147
  # inp = st.text_input('t2','')
148
  # if st.button('run'):
149
  # subprocess.run(inp.split(' '))
 
180
  ff= fixer(img,preds,img_metas,downsample_ratio)
181
  polys= ff.polysfin3
182
  if kwargs['extra_post']:
183
+ try:
184
+ polys =find_polys4(ff)
185
+ except:
186
+ print('error polys4')
187
+ polys= ff.polysfin3
188
 
189
 
190
  # with open('./0.json','r') as f:
191
  # res = json.load(f)
192
  ################
193
+ mm = draw_conts(img,[poly2cont(p) for p in polys],fcolor,stroke=int(kwargs['fstroke']))
194
  ## mm=image_resize(mm, width = 640)
195
  #######
196
  # mm=preds[1]*preds[0]