Python+Opencv实现表格边框线检测
作者:袁袁袁袁满 时间:2023-08-11 04:55:14
安装模块
下面需要用模块,先安装一下:
pip install numpy
pip install opencv-python==4.5.5.64
pip install opencv-python install "opencv-python-headless<4.3"
1. 判断图片中是否有表格
该示例代码使用边缘检测和霍夫变换提取图片中的直线,然后根据直线数量来判断是否有表格。这只是一个简单的示例,具体的判断方法和算法需要根据具体情况进行调整和优化。
import numpy as np
import cv2
# 加载图片
img = cv2.imread(r'E:\test1.png') # 注意路径中不能有中文
# 转为灰度图
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
# 进行边缘检测
edges = cv2.Canny(gray, 50, 150, apertureSize=3)
# 进行霍夫变换,提取直线
lines = cv2.HoughLinesP(edges, 1, np.pi/180, threshold=100, minLineLength=100, maxLineGap=10)
# 统计直线数量,判断是否有表格
if len(lines) > 10:
print('图片中有表格')
else:
print('图片中没有表格')
2. 提取图片中的直线
该示例代码使用Canny边缘检测和霍夫变换提取图片中的直线,并使用cv2.line函数绘制直线。您可以根据需要调整边缘检测和霍夫变换的参数,以获得更好的结果。此外,该示例代码仅绘制直线,如果需要识别表格边框线的坐标和位置,可以使用霍夫变换的输出结果进行进一步处理。
import numpy as np
import cv2
# 加载图片
img = cv2.imread(r'E:\test1.png') # 注意路径中不能有中文
# 转为灰度图
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
# 进行边缘检测
edges = cv2.Canny(gray, 50, 150, apertureSize=3)
# 进行霍夫变换,提取直线
lines = cv2.HoughLinesP(edges, 1, np.pi/180, threshold=100, minLineLength=100, maxLineGap=10)
# 绘制直线
for line in lines:
x1, y1, x2, y2 = line[0]
cv2.line(img, (x1, y1), (x2, y2), (0, 255, 0), 2)
# 显示结果图片
cv2.imshow('result', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
运行结果如下所示:
来源:https://blog.csdn.net/yuan2019035055/article/details/130401879
标签:Python,Opencv,检测
0
投稿
猜你喜欢
Javascript中判断变量是数组还是对象(array还是object)
2024-04-17 09:51:28
Tableau连接mysql数据库的实现步骤
2024-01-21 20:50:41
用JS开发页面动画效果时的一个设计思路
2008-02-03 15:12:00
Python 处理数据的实例详解
2021-05-31 21:29:35
谈谈网页一屏有多大?
2007-12-21 12:28:00
pytorch下tensorboard的使用程序示例
2021-10-27 01:01:16
matplotlib绘制折线图的基本配置(万能模板案例)
2022-09-06 18:06:17
SQL Server 2000 SP4补丁打不上的解决办法
2010-03-08 13:13:00
python pytorch图像识别基础介绍
2021-02-02 03:13:13
使用Python标准库中的wave模块绘制乐谱的简单教程
2023-11-20 14:21:35
解决python多行注释引发缩进错误的问题
2022-02-08 04:19:53
python3读取图片并灰度化图片的四种方法(OpenCV、PIL.Image、TensorFlow方法)总结
2021-06-20 20:47:41
python GUI库图形界面开发之PyQt5动态(可拖动控件大小)布局控件QSplitter详细使用方法与实例
2023-06-20 22:10:04
Python创建对称矩阵的方法示例【基于numpy模块】
2021-01-03 07:35:59
Python设计模式编程中的备忘录模式与对象池模式示例
2023-02-06 05:48:43
go流程控制代码详解
2023-10-15 18:14:19
JS循环中正确使用async、await的姿势分享
2024-05-25 15:18:56
如何优化网站图片以快速显示
2008-04-05 10:09:00
在VSCode中如何配置Python开发环境
2023-05-13 22:02:59
MySQL中or、in、union与索引优化详析
2024-01-18 08:21:55