AttributeError Traceback (most recent call last) Input In [7], in <cell line: 11>() 8 edges = cv2.Canny(gray, 50, 150, apertureSize=3) 10 # 使用霍夫变换检测表格的水平和垂直线条 ---> 11 lines = cv2.HoughLinesP(edges, 1, cv2.PI / 180, 100, minLineLength=100, maxLineGap=10) 13 # 使用线条交点检测算法找到表格的所有交点,并将其保存到一个列表中 14 points = [] AttributeError: module 'cv2' has no attribute 'PI'
时间: 2024-04-28 14:23:11 浏览: 122
开发<c:if>标签
这个错误是因为cv2模块中没有名为PI的属性。可能是因为您使用的是较旧版本的OpenCV库。可以将这个属性改为math模块中的pi属性,如下所示:
```
import cv2
import math
# 读取图像并转换为灰度图像
img = cv2.imread('table.png')
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
# 使用Canny边缘检测算法得到边缘图像
edges = cv2.Canny(gray, 50, 150, apertureSize=3)
# 使用霍夫变换检测表格的水平和垂直线条
lines = cv2.HoughLinesP(edges, 1, math.pi / 180, 100, minLineLength=100, maxLineGap=10)
# 使用线条交点检测算法找到表格的所有交点,并将其保存到一个列表中
points = []
```
这样应该就可以避免这个错误了。
阅读全文