这是我用来创建新图像的代码,在其上绘制一个圆圈并显示它:
import numpy as np
import cv2
# create 50x50 image, filled with white
img = np.ones((50,50))
# draw a circle onto the image
cv2.circle(img, (25,25), 10, 0, 2, lineType=cv2.LINE_AA)
# show the image on the screen
cv2.imshow("i", img)
cv2.waitKey(0)
cv2.destroyAllWindows()
我做错了什么?
答案 0 :(得分:4)
如果图片深度不是CV_8U
,则line_type
会自动设置为8
。
来自opencv/modules/imgproc/src/drawing.cpp
:
if( line_type == CV_AA && img.depth() != CV_8U )
line_type = 8;
由于numpy.ones
的类型默认为numpy.float64
,您将失去抗锯齿线。