【OpenCv 邊緣檢測】

【 1. 邊緣檢測 】

邊緣檢測是圖像處理和計算機視覺中的基本問題,
邊緣檢測的目的是標識數字圖像中亮度變化明顯的點。圖像邊緣檢測大幅度地減少了數據量,並且剔除了可以認爲不相關的信息,保留了圖像重要的結構屬性。圖像屬性中的顯著變化通常反映了屬性的重要事件和變化。如下圖:

常用的邊緣檢測模板有 Laplacian 算子、Roberts 算子、Sobel 算子、 Kirsch 算子和 Prewitt 算子等。

canny (精明) 邊緣檢測的五個步驟:

  • 使用高斯濾波器,以平滑圖像,濾除噪聲。
  • 計算圖像中每個像素點的梯度強度和方向。
  • 應用非極大值(Non-Maximum Suppression)抑制,以消除邊緣檢測帶來的雜散響應。
  • 應用雙閾值(Double-Threshold)檢測來確定真實的和潛在的邊緣。
  • 通過抑制孤立的弱邊緣最終完成邊緣檢測。

【 2. OpenCv圖片邊緣檢測 】

import cv2
image = cv2.imread('picture.jpg')# 讀取圖片
gray = cv2.cvtColor(image,cv2.COLOR_RGB2GRAY)# 轉換爲灰度圖片

canny_edg=cv2.Canny(gray,50,150)#進行canny邊緣檢測

cv2.imshow('cute boy',canny_edg)  # 顯示圖片
cv2.waitKey(0) # 等待用戶關閉圖片窗口
cv2.destroyAllWindows()# 關閉窗口

原圖
在這裏插入圖片描述
邊緣圖片
在這裏插入圖片描述

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