Допустим, у меня есть изображение В 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