ImportError: cannot import name 'ellipse2Poly' from 'cv2' (unknown location)
时间: 2023-12-25 17:28:24 浏览: 123
这个错误通常是由于OpenCV版本问题引起的。ellipse2Poly函数在OpenCV 3.x版本中被引入,如果你使用的是OpenCV 2.x版本,则会出现这个错误。解决方法是升级OpenCV版本或使用其他函数替代ellipse2Poly函数。
以下是一些可能的解决方法:
1.升级OpenCV版本到3.x或更高版本。
2.使用其他函数替代ellipse2Poly函数,例如approxPolyDP函数。
3.检查你的代码是否正确导入了cv2模块,可以尝试重新安装cv2模块。
```python
# 使用approxPolyDP函数替代ellipse2Poly函数
import cv2
img = cv2.imread('image.jpg')
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
_, thresh = cv2.threshold(gray, 127, 255, cv2.THRESH_BINARY)
contours, _ = cv2.findContours(thresh, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)
for cnt in contours:
approx = cv2.approxPolyDP(cnt, 0.01*cv2.arcLength(cnt, True), True)
cv2.drawContours(img, [approx], 0, (0, 255, 0), 3)
cv2.imshow('image', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
阅读全文