Update app.py
Browse files
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 |
-
|
| 169 |
-
|
| 170 |
-
|
| 171 |
-
elif lm == "average":
|
| 172 |
-
|
| 173 |
-
|
| 174 |
-
|
| 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)
|