gpt4 book ai didi

Python OpenCV Ellipse - 最多接受 5 个参数(给定 8 个)

转载 作者:太空狗 更新时间:2023-10-29 19:37:29 32 4
gpt4 key购买 nike

在查看文档后,我完全不知道为什么我不能用 OpenCV 绘制椭圆。

首先我使用的是 CV 2.4.9

>>> cv2.__version__
'2.4.9'
>>>

其次,我正在尝试使用以下内容:

>>> help(cv2.ellipse)
Help on built-in function ellipse in module cv2:

ellipse(...)
ellipse(img, center, axes, angle, startAngle, endAngle, color[, thickness[,
lineType[, shift]]]) -> None or ellipse(img, box, color[, thickness[, lineType
]]) -> None

我的椭圆形如下所示:

cx,cy = 201,113
ax1,ax2 = 37,27
angle = -108
center = (cx,cy)
axes = (ax1,ax2)

cv2.ellipse(frame, center, axes, angle, 0 , 360, (255,0,0), 2)

但是,运行它会给我以下结果

>>> cv2.ellipse(frame,center,axes,angle,0,360, (255,0,0), 2)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: ellipse() takes at most 5 arguments (8 given)
>>>

帮忙吗?


编辑:
我想使用以下作为框架

cap = cv2.VideoCapture(fileLoc)
frame = cap.read()

显然可以使用以下方法修复

pil_im = Image.fromarray(frame)
cv2.ellipse(frame,center,axes,angle,0,360,(255,0,0), 2)
pil_im = Image.fromarray(raw_image)
pil_im.save('C:/Development/export/foo.jpg', 'JPEG')

最佳答案

我遇到了同样的问题,我解决了。我无法运行的第一行代码是:

cv2.ellipse(ellipMask, (113.9, 155.7), (23.2, 15.2), 0.0, 0.0, 360.0, (255, 255, 255), -1);

我发现轴(以及中心)必须是整数元组,而不是 float 。因此下面一行是可以的!

cv2.ellipse(ellipMask, (113, 155), (23, 15), 0.0, 0.0, 360.0, (255, 255, 255), -1);

我认为你应该采用其他值的格式才能正确。

这是来自 Opencv 网站的链接: http://answers.opencv.org/question/30778/how-to-draw-ellipse-with-first-python-function/

关于Python OpenCV Ellipse - 最多接受 5 个参数(给定 8 个),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25408391/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com