欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

python 霍夫直線

林子帆2年前10瀏覽0評論

Python是一種功能強大的編程語言,在計算機視覺中,它可以用來實現多種算法。其中,霍夫直線就是一種非常常見的算法。霍夫直線是通過霍夫變換來檢測圖像中所有直線的算法,廣泛應用于不同的領域,如圖像處理、車道線檢測和對象跟蹤等。

# 導入必要的庫
import cv2
import numpy as np
# 讀取圖像并轉換為灰度圖像
img = cv2.imread('image.jpg')
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
# 應用邊緣檢測算法
edges = cv2.Canny(gray, 50, 150)
# 應用霍夫直線變換
lines = cv2.HoughLines(edges, 1, np.pi/180, 200)
# 繪制檢測到的直線
for line in lines:
rho, theta = line[0]
a = np.cos(theta)
b = np.sin(theta)
x0 = a * rho
y0 = b * rho
x1 = int(x0 + 1000 * (-b))
y1 = int(y0 + 1000 * (a))
x2 = int(x0 - 1000 * (-b))
y2 = int(y0 - 1000 * (a))
cv2.line(img, (x1, y1), (x2, y2), (0, 0, 255), 2)
# 顯示結果
cv2.imshow('image', img)
cv2.waitKey(0)
cv2.destroyAllWindows()

在這段代碼中,先利用cv2.imread()函數讀取圖像,并使用cv2.cvtColor()函數將其轉換為灰度圖像。然后,通過應用邊緣檢測算法(這里使用的是Canny算法),得到一張只包含邊緣的圖像。接下來,使用cv2.HoughLines()函數對圖像進行霍夫直線變換,檢測到所有的直線。最后,使用cv2.line()函數繪制檢測到的直線,并使用cv2.imshow()函數展示最終結果。

在實際應用中,霍夫直線是一種非常有用的算法。例如,在自動駕駛中,可以通過檢測車道線來實現車輛的自主行駛。此外,它還可以用于檢測圖像中其他幾何圖形,如圓和橢圓。