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

Evg008

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

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

  • Посещение

Сообщения, опубликованные пользователем Evg008


  1. немного не понимаю как это должно выглядеть, то есть я создаю лист, в который для каждого кадра записываю номер контура, его координаты и значения, так? что-то вроде: list [ frame1 [ cont1 [ inds [ [ 0 10 ] , [ 0 11 ],..] pix_vals [ [ 11 22 33 ], [ 22 33 44 ],...] ], cont2 [...] ], frame2 [ ... ] ... ]
    то есть, если один контур присутствует скажем на 20 кадрах,  то он будет с каждым кадром считаться как новый? а наложить несколько контуров за кадр получится потом из этих данных? поясните пожалуйста


  2. Добрый день! Есть обычное трафик видео. Задача состоит в том чтобы на выходе получить сжатое видео в котором объекты накладываются большим количеством на статический задний фон. Чтобы накладывать объекты большим количеством надо каждый объект (его координаты и значения пикселей) записывать в отдельный массив, либо создавать маски 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)

     

×