Python視覺處理(二)線檢測

python線檢測使用的時cv.HoughLinesP()函數:

它有兩個參數:

minLineLength-線的最短長度,比這個線短的都會被忽略。

MaxLineGap-兩條線之間的最大間隔,如果小於此值,這兩條線就會被看成一條線。

這個函數的返回值就是直線的起點和終點。

看主程序:

import cv2
import numpy as np
from matplotlib import pyplot as plt

img=cv2.imread('Biaoding.jpg')
#imgblur=cv2.medianBlur(img,5)
gray=cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
edges=cv2.Canny(gray,50,150,apertureSize=3)
minLineLength=100
maxLineGap=10
lines=cv2.HoughLinesP(edges,1,np.pi/180,100,minLineLength,maxLineGap)
for x1,y1,x2,y2 in lines[0]:
    cv2.line(img,(x1,y1),(x2,y2),(0,255,0),2)
cv2.imshow("edge",edges)
cv2.imshow("image",img)
cv2.waitKey(0)

結果如圖:


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章