【发布时间】:2019-12-29 09:23:04
【问题描述】:
Canny 正在检测除道路以外的任何地方的边缘。 这是原始图像。 https://imgur.com/a/O4ZVvb6
这是一个示例图像。 https://imgur.com/a/AqENNbq
我已经尝试过使用 Canny 阈值。 并应用 GaussianBlur、medianBlur 、bilateralFilter,
我也尝试过首先使用黑白图像阈值拟合器,但问题是地形会稍微改变颜色并导致问题。
import numpy as np
from PIL import ImageGrab
import cv2
import time
def screen_record():
last_time = time.time()
while(True):
# record upper left corner of screen to get the image.
printscreen = np.array(ImageGrab.grab(bbox=(0,40,1098,728)))
print('loop took {} seconds'.format(time.time()-last_time))
last_time = time.time()
color = cv2.cvtColor(printscreen, cv2.COLOR_BGR2GRAY)
canny = cv2.Canny(color, 20, 100)
cv2.imshow('edges',canny)
if cv2.waitKey(25) & 0xFF == ord('q'):
cv2.destroyAllWindows()
break
screen_record()
我希望只有一条实线。 如下图。 https://imgur.com/a/09vTE9e
【问题讨论】: