邊緣檢測 (Edge Detection)

更新於 發佈於 閱讀時間約 4 分鐘

「邊緣檢測 (Edge Detection)」是電腦視覺和圖像處理領域中的一項基本技術。它的目標是識別圖像中亮度或顏色發生顯著變化的區域,這些區域通常對應於圖像中不同物體之間的邊界,或者物體表面上的不連續性(例如,陰影、紋理的變化)。

你可以將邊緣檢測想像成在複雜的圖像中找出物體的輪廓線。這些輪廓線往往包含了圖像中最重要的結構信息。

邊緣的重要性:

圖像中的邊緣包含了關於物體形狀、大小、紋理和深度的重要信息。因此,邊緣檢測是許多高階電腦視覺任務的基礎,例如:

  • 目標檢測與識別 (Object Detection and Recognition): 邊緣可以幫助提取物體的輪廓,從而更容易識別物體。
  • 圖像分割 (Image Segmentation): 邊緣可以作為分割不同區域的依據。
  • 特徵提取 (Feature Extraction): 邊緣本身可以作為一種重要的圖像特徵。
  • 運動分析 (Motion Analysis): 追蹤邊緣的運動可以幫助分析物體的運動。

邊緣檢測的工作原理:

邊緣通常對應於圖像中像素強度的快速變化。邊緣檢測算法通過檢測圖像中像素強度的梯度(變化率)來尋找這些變化明顯的區域。梯度較大的地方通常被認為是邊緣。

常見的邊緣檢測算法:

  1. Sobel 算子 (Sobel Operator): 一種經典的邊緣檢測算法,它使用兩個 3x3 的卷積核,分別計算圖像在水平和垂直方向上的梯度。邊緣強度和方向可以根據這兩個方向的梯度計算出來。
  2. Prewitt 算子 (Prewitt Operator): 類似於 Sobel 算子,也使用一組卷積核來計算水平和垂直方向的梯度。
  3. Roberts 交叉算子 (Roberts Cross Operator): 使用兩個 2x2 的卷積核,計算圖像中對角方向的梯度。它對角線方向的邊緣更敏感。
  4. Laplacian 算子 (Laplacian Operator): 一種二階導數算子,用於檢測圖像中亮度變化的速率。它通常對噪聲比較敏感。
  5. Canny 邊緣檢測器 (Canny Edge Detector): 一種非常流行且效果較好的邊緣檢測算法,它包含多個步驟:
    • 使用高斯濾波器平滑圖像,以減少噪聲。 計算圖像的梯度強度和方向。 應用非極大值抑制 (Non-Maximum Suppression),以細化邊緣。 使用雙閾值 (Double Thresholding) 處理潛在的邊緣像素。 通過滯後閾值處理 (Hysteresis Thresholding) 來確定最終的邊緣。
  6. LOG 算子 (Laplacian of Gaussian): 首先使用高斯濾波器平滑圖像,然後應用 Laplacian 算子進行邊緣檢測。這種方法可以減少噪聲的影響。

邊緣檢測的輸出:

邊緣檢測算法的輸出通常是一個二值圖像,其中邊緣像素被標記為白色(或其他高亮顏色),而非邊緣像素被標記為黑色。

總之,邊緣檢測是電腦視覺中一項重要的基礎技術,它通過識別圖像中亮度或顏色快速變化的區域來提取物體的輪廓和結構信息,為後續的圖像分析和理解提供了關鍵的線索。

留言
avatar-img
留言分享你的想法!
avatar-img
郝信華 iPAS AI應用規劃師 學習筆記
12會員
273內容數
現職 : 富邦建設資訊副理 證照:經濟部 iPAS AI應用規劃師
你可能也想看
Thumbnail
本文將說明如何去辨識出圖片文字​位置及高寬。
Thumbnail
本文將說明如何去辨識出圖片文字​位置及高寬。
Thumbnail
在影像辨識中,若遇到物件與背景難以分辨的狀況下,先做一下色彩分析,知道了色彩強度階層上的像素數,有助於了解後續需要做什麼處理,比較好分割出辨識物。 若想辨識的物件與背景的RGB值過於接近,也比較好說明此狀況,為什麼較難分割出物件。 成果呈現 第一張圖:左邊為原圖,右邊為分析結果的圖,用其他顏
Thumbnail
在影像辨識中,若遇到物件與背景難以分辨的狀況下,先做一下色彩分析,知道了色彩強度階層上的像素數,有助於了解後續需要做什麼處理,比較好分割出辨識物。 若想辨識的物件與背景的RGB值過於接近,也比較好說明此狀況,為什麼較難分割出物件。 成果呈現 第一張圖:左邊為原圖,右邊為分析結果的圖,用其他顏
Thumbnail
首先我們先用小畫家,創建一個簡單的十字箭頭圖,在用高斯模糊將圖用模糊來模擬圖片糊掉的狀況。 如何檢測呢? 先假設在圖像清晰的狀況下,取邊緣的話線條應該是很明顯的吧,模糊的情況下,邊緣線條應該就會變多? 看下圖,由左看到右,在圖片清晰的狀況下,線條是相當明顯的 那有什麼方法將其量化成數字?
Thumbnail
首先我們先用小畫家,創建一個簡單的十字箭頭圖,在用高斯模糊將圖用模糊來模擬圖片糊掉的狀況。 如何檢測呢? 先假設在圖像清晰的狀況下,取邊緣的話線條應該是很明顯的吧,模糊的情況下,邊緣線條應該就會變多? 看下圖,由左看到右,在圖片清晰的狀況下,線條是相當明顯的 那有什麼方法將其量化成數字?
Thumbnail
針對辨識物的不同,流程就會不一樣,在依照現實狀況進行刪減,以下說明為個人常用的流程。 基本流程: 讀圖 灰階 濾波 (看圖片雜訊多不多) 二值化 連通區域 特徵篩選 特徵資訊 辨識 - (OCR,量測,瑕疵檢測等。) 名詞介紹 Gray 灰階 將原始的彩色圖像轉換為灰階圖
Thumbnail
針對辨識物的不同,流程就會不一樣,在依照現實狀況進行刪減,以下說明為個人常用的流程。 基本流程: 讀圖 灰階 濾波 (看圖片雜訊多不多) 二值化 連通區域 特徵篩選 特徵資訊 辨識 - (OCR,量測,瑕疵檢測等。) 名詞介紹 Gray 灰階 將原始的彩色圖像轉換為灰階圖
Thumbnail
觀看本文將可以學習到如何利用Numpy求得物件的邊緣點,及算出物件的寬跟高。 有詳細的程式邏輯說明,及各函式用法說明。 綠點及紅點則是採樣到的邊界點,比較粗的點是偵測到的最大值 完整程式碼 import cv2 import numpy as np import matplotl
Thumbnail
觀看本文將可以學習到如何利用Numpy求得物件的邊緣點,及算出物件的寬跟高。 有詳細的程式邏輯說明,及各函式用法說明。 綠點及紅點則是採樣到的邊界點,比較粗的點是偵測到的最大值 完整程式碼 import cv2 import numpy as np import matplotl
Thumbnail
直方圖均衡化處理是一種通過調整圖像的直方圖來改變圖像外觀和質量的圖像處理技術。這通常涉及對圖像的亮度、對比度和顏色分佈進行調整 此方法對於背景和前景均亮或均暗的影像很有用。​並在曝光過度或曝光不足的照片中獲得更好的細節。
Thumbnail
直方圖均衡化處理是一種通過調整圖像的直方圖來改變圖像外觀和質量的圖像處理技術。這通常涉及對圖像的亮度、對比度和顏色分佈進行調整 此方法對於背景和前景均亮或均暗的影像很有用。​並在曝光過度或曝光不足的照片中獲得更好的細節。
Thumbnail
直方圖是對圖像中像素強度分布的圖形表示。通過分析直方圖,我們可以獲得有關圖像對比度、亮度和色彩分佈的有用信息。
Thumbnail
直方圖是對圖像中像素強度分布的圖形表示。通過分析直方圖,我們可以獲得有關圖像對比度、亮度和色彩分佈的有用信息。
Thumbnail
點陣圖 點陣圖是由許多方格像素組成的圖片, 因此我們常常在將圖片放大時會呈現像是馬賽克的狀況, 假設期望圖片越清晰那所需要的像素會較多個, 因此空間耗用量也相對較大。 常見的格式有: .JPG .PNG .GIF .BMP .TIFF等格式。 繪製程式碼: 向量圖 向量
Thumbnail
點陣圖 點陣圖是由許多方格像素組成的圖片, 因此我們常常在將圖片放大時會呈現像是馬賽克的狀況, 假設期望圖片越清晰那所需要的像素會較多個, 因此空間耗用量也相對較大。 常見的格式有: .JPG .PNG .GIF .BMP .TIFF等格式。 繪製程式碼: 向量圖 向量
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News