Перейти к содержимому
Compvision.ru

Evg008

Пользователи
  • Количество публикаций

    8
  • Зарегистрирован

  • Посещение

Все публикации пользователя Evg008

  1. Добрый день! Есть обычное трафик видео. Задача состоит в том чтобы на выходе получить сжатое видео в котором объекты накладываются большим количеством на статический задний фон. Чтобы накладывать объекты большим количеством надо каждый объект (его координаты и значения пикселей) записывать в отдельный массив, либо создавать маски numpy для каждого, и затем уже накладывать. Пытаюсь через контуры, фильтрую изображение, получаю белые блобы, нахожу контуры, но не понимаю как данные каждого контура записывать в отельные массивы. Вот кусочек кода начиная после нахождения контуров: # Находим координаты контура mask = np.zeros(thresh.shape,np.uint8) cont2 = cv2.drawContours(mask,contours,0,255,-1) pixelpoints = np.transpose(np.nonzero(mask)) # Находим значения пикселей for k in range(0,(len(pixelpoints))): a = (frame[pixelpoints[k][0]][pixelpoints[k][1]]) pix_list.append(a)
  2. немного не понимаю как это должно выглядеть, то есть я создаю лист, в который для каждого кадра записываю номер контура, его координаты и значения, так? что-то вроде: list [ frame1 [ cont1 [ inds [ [ 0 10 ] , [ 0 11 ],..] pix_vals [ [ 11 22 33 ], [ 22 33 44 ],...] ], cont2 [...] ], frame2 [ ... ] ... ] то есть, если один контур присутствует скажем на 20 кадрах, то он будет с каждым кадром считаться как новый? а наложить несколько контуров за кадр получится потом из этих данных? поясните пожалуйста
×