opencv python 直線檢測並延長

2021-09-24 23:56:19 字數 672 閱讀 9887

利用opencv中的canny邊緣檢測基於houghlinesp檢測出來的直線,在適當的場景下需要延長檢測出來的直線(**提取)

原理就是中學學的直線方程的的應用.

def extend_line(x1, y1, x2, y2, x, y, flag):

if flag == 1:

if y1 == y2:

return 0, y1, x, y2

else:

k = (y2 - y1) / (x2 - x1)

b = (x1*y2-x2*y1)/(x1-x2)

x3 = 0

y3 = b

x4 = x

y4 = int(k * x4+b)

return x3, y3, x4, y4

else:

if x1 == x2:

return x1, 0, x2, y

else:

k = (y2 - y1) / (x2 - x1)

b = (x1 * y2 - x2 * y1) / (x1 - x2)

y3 = 0

x3 = int(-1*b/k)

y4 = y

x4 = int((y4-b)/k)

return x3, y3, x4, y4

Python OpenCV Hough直線檢測

1.笛卡爾座標系與hough座標系 為了方便說明,我們先以笛卡爾座標系即直角座標系 與笛卡爾空間對應 為例來說明hough變換的基本原理。與笛卡爾座標系對應,我們構造乙個hough座標系 對應hough空間 在hough座標系中,橫座標採用笛卡爾座標系中直線的斜率k,縱座標使用笛卡爾座標系中直線的截...

OpenCV Python系列之哈里斯角檢測

我們在上次簡述了opencv的特徵基礎原理,本次我們將步入實戰部分,開始進行特徵的初階檢測。原理 在上乙個教程中,我們知道了角點是影象中向任意方向發生改變時,都引起影象強烈變動的區域。chris harris 和 mike stephens 在他們1988年的 a combined corner a...

opencv學習筆記(六)霍夫直線檢測和圓檢測

1.霍夫變換直線檢測和圓檢測 霍夫變換是一種從空間域到極座標域的轉換。已知二維空間的一條直線有很多表現方式,例如截距式斜率式比如 y kx b,一旦我們知道k和b,就知道了這條直線,而k和b在座標上表示的只是乙個點而已,如果直線的k相同也就是直線平行,那麼表現在kb座標域也就是條k直線。那麼問題在於...