我有一个图像和一个坐标(X,Y)。如何在图像上用这个坐标绘制一个点。我想使用Python OpenCV。
答案 0 :(得分:19)
您可以使用cv2.circle()函数opencv模块:
image = cv.circle(image, centerOfCircle, radius, color, thickness)
将半径绘制为0表示单个点,将厚度绘制为负数表示实心圆
import cv2
image = cv2.circle(image, (x,y), radius=0, color=(0, 0, 255), thickness=-1)
答案 1 :(得分:6)
我也在学习与OpenCV的Python绑定。这是一种方式:
#!/usr/local/bin/python3
import cv2
import numpy as np
w=40
h=20
# Make empty black image
image=np.zeros((h,w,3),np.uint8)
# Fill left half with yellow
image[:,0:int(w/2)]=(0,255,255)
# Fill right half with blue
image[:,int(w/2):w]=(255,0,0)
# Create a named colour
red = [0,0,255]
# Change one pixel
image[10,5]=red
# Save
cv2.imwrite("result.png",image)
这里的结果是 - 放大了所以你可以看到它。
这是一个非常简洁但不那么有趣的答案:
#!/usr/local/bin/python3
import cv2
import numpy as np
# Make empty black image
image=np.zeros((20,40,3),np.uint8)
# Make one pixel red
image[10,5]=[0,0,255]
# Save
cv2.imwrite("result.png",image)