cv2.lines () или любые другие функции рисования влияют на изображения над ним? - PullRequest
0 голосов
/ 08 февраля 2019

Этот фрагмент кода находится внутри цикла while, и я ожидаю увидеть изображение без линий на нем, поскольку строки применяются к img_roi, а не к img_clone, но в выходном изображении я получаю изображение слинии на нем.

также, я хочу обнаружить Лейн, если кто-то может помочь с этим, это было бы здорово.Спасибо.

ret, img_color = vid.read()

num_rows, num_cols = img_color.shape[:2]
rotation_matrix = cv2.getRotationMatrix2D((num_cols/2, num_rows/2), 270, 0.56)  #3
img_rotated = cv2.warpAffine(img_color, rotation_matrix, (num_cols, num_rows))


height, width = img_rotated.shape[:2]
img_resize = cv2.resize(img_rotated,(int(0.8*width), int(0.8*height)), interpolation = cv2.INTER_CUBIC) #2

img_roi = img_resize[10:842,530:1000]
img_clone = img_resize[10:842,530:1000]

img_gray = cv2.cvtColor(img_roi,cv2.COLOR_BGR2GRAY) #1

img_canny = cv2.Canny(img_gray,330,350, apertureSize = 3)   #4

lines = cv2.HoughLinesP(img_canny, 1, np.pi/180, 60, maxLineGap = 240)

for line in lines:
    x1,y1,x2,y2 = line[0]
    cv2.line(img_roi, (x1,y1), (x2,y2), (0,255,0), 3)


cv2.imshow('frame',img_clone)
cv2.imwrite('image.jpg', img_clone)

Вывод изображения

1 Ответ

0 голосов
/ 08 февраля 2019

В основном и img_roi, и img_clone ссылаются на один и тот же массив numpy img_resize.Конечно, не в целом img_resize, а только в разрезанной части.Это может быть сделано, если вы выводите img_resize в конце (после создания линии), где вы видите, что строки применяются только к подизображению.

Вы можете ссылаться здесь среди других местдля объяснения.

Самый простой способ для меня - добавить .copy() в конец массива, который вы хотите отделить от остальных.В вашем случае img_clone:

img_clone = img_resize[10:842,530:1000].copy()

, который создаст независимый массив с пустым фрагментом, который будет иметь исходное изображение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...