共計 853 個字符,預計需要花費 3 分鐘才能閱讀完成。
Python 中常用的圖像邊緣提取方法包括 Sobel 算子、Canny 邊緣檢測和 Laplacian 算子。這些方法可以通過 OpenCV 庫來實現。
- Sobel 算子:Sobel 算子是一種基于梯度的邊緣檢測方法,它可以分別計算圖像在水平和垂直方向上的梯度,并將兩者合并得到最終的梯度圖像。使用 Sobel 算子可以檢測出圖像中的邊緣信息。
import cv2
import numpy as np
img = cv2.imread('image.jpg', 0)
edges = cv2.Sobel(img, cv2.CV_64F, 1, 1, ksize=5)
cv2.imshow('Edges', edges)
cv2.waitKey(0)
cv2.destroyAllWindows()
- Canny 邊緣檢測:Canny 邊緣檢測是一種經典的邊緣檢測算法,它結合了多個步驟包括高斯濾波、梯度計算、非極大值抑制和雙閾值檢測來檢測圖像中的邊緣。
import cv2
img = cv2.imread('image.jpg', 0)
edges = cv2.Canny(img, 100, 200)
cv2.imshow('Edges', edges)
cv2.waitKey(0)
cv2.destroyAllWindows()
- Laplacian 算子:Laplacian 算子是一種基于二階導數的邊緣檢測方法,它可以幫助檢測圖像中的邊緣。使用 Laplacian 算子可以獲得圖像的二階導數,并根據導數值來檢測邊緣。
import cv2
img = cv2.imread('image.jpg', 0)
edges = cv2.Laplacian(img, cv2.CV_64F)
cv2.imshow('Edges', edges)
cv2.waitKey(0)
cv2.destroyAllWindows()
這些方法可以根據實際情況選擇使用,以獲得最佳的邊緣檢測效果。
丸趣 TV 網 – 提供最優質的資源集合!
正文完