如何使用给定的坐标与python opencv在图像中绘制一个点?

时间:2018-04-12 14:22:20

标签: python-3.x image opencv

我有一个图像和一个坐标(X,Y)。如何在图像上用这个坐标绘制一个点。我想使用Python OpenCV。

2 个答案:

答案 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)

这里的结果是 - 放大了所以你可以看到它。

enter image description here

这是一个非常简洁但不那么有趣的答案:

#!/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)

enter image description here

相关问题