Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import numpy as np
- import cv2
- from PIL import Image
- image = "2YNGEOYOEH0YXBJV.png"
- input = cv2.imread(image)
- _, th = cv2.threshold(input, 70, 250, cv2.THRESH_BINARY)
- rgb_planes = cv2.split(th)
- result_planes = []
- result_norm_planes = []
- for plane in rgb_planes:
- dilated_img = cv2.dilate(plane, np.ones((7, 7), np.uint8))
- bg_img = cv2.medianBlur(dilated_img, 11)
- diff_img = 255 - cv2.absdiff(plane, bg_img)
- norm_img = cv2.normalize(diff_img, dst=0, alpha=80, beta=250, norm_type=cv2.NORM_MINMAX, dtype=cv2.CV_8UC1)
- result_planes.append(diff_img)
- result_norm_planes.append(norm_img)
- result = cv2.merge(result_norm_planes)
- gray = cv2.cvtColor(result, cv2.COLOR_BGR2GRAY)
- lower = np.array([0, 0, 0])
- upper = np.array([150, 150, 150])
- mask = cv2.inRange(result, lower, upper)
- res = cv2.bitwise_and(result, result, mask= mask)
- cv2.imwrite("th.png", th)
- input = cv2.imread(image)
- _, th = cv2.threshold(input, 130, 160, cv2.THRESH_TOZERO)
- cv2.imwrite("result.png", th)
- image = "result.png"
- img = cv2.imread(image)
- lower = np.array([0, 1, 1])
- upper = np.array([0, 255, 255])
- mask = cv2.inRange(img, lower, upper)
- roads = cv2.bitwise_and(img, img, mask=mask)
- height = int(np.size(img, 0))
- width = int(np.size(img, 1))
- for h in range(1, 500):
- for w in range(1, 500):
- color = str(roads[w, h])
- if color != "[0, 145, 153]":
- pass
- else:
- roads[h, w] = [0, 0, 255]
- cv2.imwrite("roads.png", roads)
- mask = Image.open("roads.png")
- mask1 = Image.open("th.png")
- for i in range (1, 6523):
- for j in range (1, 7736):
- if mask1.getpixel((i,j))[0] != 0 or mask1.getpixel((i,j))[1] != 0 or \
- mask1.getpixel((i,j))[2] != 0:
- mask1.putpixel((i, j), (255, 255, 255))
- if (mask.getpixel((i, j))[0] != 0) or (mask.getpixel((i, j))[1] != 0) or (mask.getpixel((i, j))[2] != 0):
- mask1.putpixel((i, j), (0, 0, 0))
- mask1.save("dengi.jpg", "JPEG")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement