Вы на правильном пути.Вы можете изменить свойство пикселя, используя Numpy-сплайсинг
img[x,y] = [B,G,R]
Так, например, чтобы изменить пиксель на (50,50)
на красный, вы можете сделать
img[50,50] = [0,0,255]
Здесь мы меняем одинот пикселя к красному (он довольно маленький)
import cv2
import numpy as np
width = 100
height = 100
# Make empty black image of size (100,100)
img = np.zeros((height, width, 3), np.uint8)
red = [0,0,255]
# Change pixel (50,50) to red
img[50,50] = red
cv2.imshow('img', img)
cv2.waitKey(0)
Альтернативный метод - использовать cv2.circle () длянарисуйте свою точку на месте.
Заголовок функции:
cv2.circle(image, (x, y), radius, (B,G,R), thickness)
Используя это, мы получаем тот же результат
cv2.circle(img, (50,50), 1, red, -1)