我有一个我定义的图像如下:
img = np.zeros(474,474)
我想绘制真实的实心圆,而不是在此图像上以不同坐标为中心和固定半径绘制圆形的多边形近似值。例如,我想绘制两个圆圈,其中心(100,200)
和(150,372)
的半径为2
像素。我期待的是,在绘制圆圈之后,原始图像img
的条目应该更改为圆圈所在的所有条目。
我尝试了opencv cv.circle
模块以及skimage.draw.circle
模块,但它们生成了一些圆的多项式近似。
我也在matplotlib
中尝试了以下内容,但我似乎并不了解如何在我的图片img
上绘制它。
任何帮助将不胜感激。
from matplotlib.patches import Circle
img=np.zeros(474,474)
fig = plt.figure()
ax = fig.add_subplot(111)
centers = [(100,200),(150,372)]
for i in range(len(centers)):
Circle((centers[i][0],centers[i][1]), radius= 2)
答案 0 :(得分:1)
在OpenCV中绘制圆形时,可以选择几个参数,其中一个用于定义圆形边界的类型,您有4种类型:
示例代码(在C ++中)
circle(src,cv::Point(300,300), 10, Scalar(0,0,255), 1, FILLED);
答案 1 :(得分:1)
在img中绘制圆圈。
import cv2
import numpy as np
img = np.zeros([474, 474])
cv2.circle(img, (100,100), 5, 255, -1)
cv2.circle(img, (200,200), 30, 255, -1)
cv2.imshow('image', img)
cv2.waitKey(0)
cv2.destroyAllWindows()