Python+Opencv實現(xiàn)表格邊框線檢測
安裝模塊
下面需要用模塊,先安裝一下:
pip install numpy pip install opencv-python==4.5.5.64 pip install opencv-python install "opencv-python-headless<4.3"
1. 判斷圖片中是否有表格
該示例代碼使用邊緣檢測和霍夫變換提取圖片中的直線,然后根據(jù)直線數(shù)量來判斷是否有表格。這只是一個簡單的示例,具體的判斷方法和算法需要根據(jù)具體情況進行調(diào)整和優(yōu)化。
import numpy as np
import cv2
# 加載圖片
img = cv2.imread(r'E:\test1.png') # 注意路徑中不能有中文
# 轉(zhuǎn)為灰度圖
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)
# 統(tǒng)計直線數(shù)量,判斷是否有表格
if len(lines) > 10:
print('圖片中有表格')
else:
print('圖片中沒有表格')
2. 提取圖片中的直線
該示例代碼使用Canny邊緣檢測和霍夫變換提取圖片中的直線,并使用cv2.line函數(shù)繪制直線。您可以根據(jù)需要調(diào)整邊緣檢測和霍夫變換的參數(shù),以獲得更好的結(jié)果。此外,該示例代碼僅繪制直線,如果需要識別表格邊框線的坐標和位置,可以使用霍夫變換的輸出結(jié)果進行進一步處理。
import numpy as np
import cv2
# 加載圖片
img = cv2.imread(r'E:\test1.png') # 注意路徑中不能有中文
# 轉(zhuǎn)為灰度圖
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)
# 顯示結(jié)果圖片
cv2.imshow('result', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
運行結(jié)果如下所示:

到此這篇關(guān)于Python+Opencv實現(xiàn)表格邊框線檢測的文章就介紹到這了,更多相關(guān)Python Opencv邊框線檢測內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python開發(fā)游戲之井字游戲的實戰(zhàn)步驟
最近正在學習Python,所以最近做了一個關(guān)于Python的實例,下面這篇文章主要給大家介紹了關(guān)于Python開發(fā)游戲之井字游戲的相關(guān)資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下2023-02-02
Python中利用LSTM模型進行時間序列預測分析的實現(xiàn)
這篇文章主要介紹了Python中利用LSTM模型進行時間序列預測分析的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-07-07
python 計算兩個列表的相關(guān)系數(shù)的實現(xiàn)
這篇文章主要介紹了python 計算兩個列表的相關(guān)系數(shù)的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-08-08
python實現(xiàn)翻轉(zhuǎn)棋游戲(othello)
這篇文章主要為大家詳細介紹了python實現(xiàn)翻轉(zhuǎn)棋游戲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2019-07-07
python基礎(chǔ)學習之遞歸函數(shù)知識總結(jié)
在函數(shù)中調(diào)用函數(shù)自身,我們把這樣的函數(shù)叫做遞歸函數(shù), 遞歸函數(shù)就是循環(huán)的調(diào)用,類似于俄羅斯套娃,本文給各位小伙伴詳細介紹了python遞歸函數(shù),需要的朋友可以參考下2021-05-05

