OpenCV - как получить индексы формы вместо ее рисования? - PullRequest
0 голосов
/ 05 августа 2020

Допустим, у меня есть изображение В x Ш, которое представляет карту какой-то территории. У меня есть N записей данных, каждая из которых представляет позицию на карте. Я хочу создать тепловую карту и наложить ее на исходную карту. Моя идея заключалась в том, чтобы нарисовать полупрозрачный круг с радиусом R в каждой позиции, поэтому, если несколько кругов будут перекрываться, результирующий цвет будет более ярким. Однако это не кажется эффективным решением. Другая идея - создать новый массив H x W и добавить значение +1 к этим индексам, которые будут представлять окружность с радиусом R. Вот пример:

img = cv2.imread("./map.png")
w, h, c = img.shape
hmap = np.zeros((w, h))
for pos in data:
  # draw circle with radius R on the heatmap
  idxs = smthing.circle(img, (pos.x, pos.y), radius)
  hmap[idxs] += 1  # keep adding to respective indices to create heatmap 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...