freealise commited on
Commit
27a21ee
·
verified ·
1 Parent(s): f38bca9

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +15 -13
app.py CHANGED
@@ -149,8 +149,8 @@ def remove_bg(fl, count, mh, ms, md, lm):
149
  global fl_
150
  fr = cv2.imread(fl).astype(np.uint8)
151
 
152
- b = 3
153
- element = cv2.getStructuringElement(cv2.MORPH_RECT, (2 * b + 1, 2 * b + 1), (b, b))
154
 
155
  n = int((fr.shape[0]*fr.shape[1]) / (256*256))
156
  fr_bg = cv2.medianBlur(fr, 255)
@@ -162,19 +162,21 @@ def remove_bg(fl, count, mh, ms, md, lm):
162
  hsv = cv2.cvtColor(fr_diff, cv2.COLOR_BGR2HSV) # range: 180, 255, 255
163
 
164
  fr_diff = cv2.cvtColor(fr_diff, cv2.COLOR_BGR2GRAY)
 
 
165
 
166
  #md = 12
167
- if lm == "median":
168
- mh = np.median(hsv[:,:,0])
169
- ms = np.median(hsv[:,:,1])
170
- md = np.median(hsv[:,:,2])
171
- elif lm == "average":
172
- mh = np.average(hsv[:,:,0])
173
- ms = np.average(hsv[:,:,1])
174
- md = np.average(hsv[:,:,2])
175
- bg = cv2.inRange(hsv, np.array([0,0,0]), np.array([mh,ms,md]))
176
- fr_diff[bg>0] = 0
177
- fr_diff[bg==0] = 255
178
 
179
  cv2.rectangle(fr_diff,(0,0),(fr_diff.shape[1]-1,fr_diff.shape[0]-1),(255,255,255),1)
180
  mask = cv2.floodFill(fr_diff, None, (0, 0), 255, 0, 0, (4 | cv2.FLOODFILL_FIXED_RANGE))[2] #(4 | cv.FLOODFILL_FIXED_RANGE | cv.FLOODFILL_MASK_ONLY | 255 << 8)
 
149
  global fl_
150
  fr = cv2.imread(fl).astype(np.uint8)
151
 
152
+ #b = 3
153
+ #element = cv2.getStructuringElement(cv2.MORPH_RECT, (2 * b + 1, 2 * b + 1), (b, b))
154
 
155
  n = int((fr.shape[0]*fr.shape[1]) / (256*256))
156
  fr_bg = cv2.medianBlur(fr, 255)
 
162
  hsv = cv2.cvtColor(fr_diff, cv2.COLOR_BGR2HSV) # range: 180, 255, 255
163
 
164
  fr_diff = cv2.cvtColor(fr_diff, cv2.COLOR_BGR2GRAY)
165
+
166
+ ret,fr_diff = cv2.threshold(fr_diff,0,255,cv2.THRESH_BINARY+cv2.THRESH_OTSU)
167
 
168
  #md = 12
169
+ #if lm == "median":
170
+ # mh = np.median(hsv[:,:,0])
171
+ # ms = np.median(hsv[:,:,1])
172
+ # md = np.median(hsv[:,:,2])
173
+ #elif lm == "average":
174
+ # mh = np.average(hsv[:,:,0])
175
+ # ms = np.average(hsv[:,:,1])
176
+ # md = np.average(hsv[:,:,2])
177
+ #bg = cv2.inRange(hsv, np.array([0,0,0]), np.array([mh,ms,md]))
178
+ #fr_diff[bg>0] = 0
179
+ #fr_diff[bg==0] = 255
180
 
181
  cv2.rectangle(fr_diff,(0,0),(fr_diff.shape[1]-1,fr_diff.shape[0]-1),(255,255,255),1)
182
  mask = cv2.floodFill(fr_diff, None, (0, 0), 255, 0, 0, (4 | cv2.FLOODFILL_FIXED_RANGE))[2] #(4 | cv.FLOODFILL_FIXED_RANGE | cv.FLOODFILL_MASK_ONLY | 255 << 8)