Traceback (most recent call last): File "D:\python project\tommyself.py", line 28, in <module> borders = cv2.boxPoints(borders) cv2.error: OpenCV(4.7.0) :-1: error: (-5:Bad argument) in function 'boxPoints' > Overload resolution failed: > - Can't parse 'box' as RotatedRect. Expected sequence length 3, got 4 > - Can't parse 'box' as RotatedRect. Expected sequence length 3, got 4 这段代码出现了以下报错应该怎么改
时间: 2024-02-18 09:04:47 浏览: 180
这个报错可能是因为 `cv2.boundingRect()` 返回的 `borders` 数组长度不正确,导致在调用 `cv2.boxPoints()` 函数时出错。
你可以检查一下 `borders` 数组的长度是否为 4,如果是的话,你可以尝试修改代码为:
```
# 获取边框
x, y, w, h = cv2.boundingRect(opened)
borders = np.array([[x, y], [x, y+h], [x+w, y+h], [x+w, y]])
# 绘制边框线
cv2.polylines(frame, [borders], True, (0, 0, 255), 2)
# 获取边框线坐标
points = borders.reshape(4, 2)
```
这里使用 `cv2.boundingRect()` 函数返回的矩形的左上角坐标 `(x, y)`、宽度 `w` 和高度 `h` 来计算边框的四个顶点坐标,然后将这些坐标存储在一个 4x2 的数组中,并将其传递给 `cv2.polylines()` 函数来绘制边框线。
如果上述方法还是无法解决问题,你可以尝试升级 OpenCV 版本或者尝试其他的解决方案。
相关问题
Traceback (most recent call last): File "C:/Python38/pythonProject/poi.py", line 60, in <module> jsonf = urllib.urlopen(url) Traceback (most recent call last): File "C:/Python38/pythonProject/poi.py", line 60, in <module> jsonf = urllib.urlopen(url) AttributeError: module 'urllib' has no attribute 'urlopen'
您遇到的错误是因为urllib模块中没有urlopen这个属性。Python 3中urllib模块被分为了urllib.request、urllib.parse、urllib.error等子模块。
要解决这个问题,您可以将代码中的urllib替换为urllib.request。请尝试以下修改:
```python
import urllib.request
url = "your_url_here"
jsonf = urllib.request.urlopen(url)
```
这样应该可以解决您的问题。如果还有其他问题,请随时提问。
PS D:\MyPython> & "C:/Program Files/Python39/python.exe" d:/MyPython/Crawler/Gupang.py 'NoneType' object has no attribute 'text' Traceback (most recent call last): File "d:\MyPython\Crawler\Gupang.py", line 10, in <module> title = soup.find("h1", class_="title").text AttributeError: 'NoneType' object has no attribute 'text' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "d:\MyPython\Crawler\Gupang.py", line 14, in <module> sys.exit(1) NameError: name 'sys' is not defined
这个错误提示显示你的代码出现了两个错误。第一个错误是 `'NoneType' object has no attribute 'text'`,这通常是因为 `soup.find()` 方法没有找到要查找的标签。所以你需要检查一下你的 `soup.find()` 方法是否正确找到了标签。
第二个错误是 `NameError: name 'sys' is not defined`,这是因为你在代码中使用了 `sys.exit()` 方法,但是你没有导入 `sys` 模块。所以你需要在代码开头添加 `import sys`。
阅读全文