【opencv 】 medianBlur中值濾波 Canny邊緣檢測

###原圖
原圖
讀入圖片:

gray = cv2.imread('p1.jpg', cv2.IMREAD_GRAYSCALE)

中值濾波,去噪:

gray = cv2.medianBlur(gray,5)

這裏寫圖片描述
得到圖像邊緣:

edges = cv2.Canny(gray, 50, 150, apertureSize = 3)

這裏寫圖片描述

###1 medianBlur函數原型

void medianBlur(InputArray src, OutputArray dst, int ksize)

#####參數說明
src 輸入圖形
dst 輸出圖像
ksize 濾波模板的尺寸大小
###2 Canny函數原型

void cvCanny(
    const CvArr* image,   
    CvArr* edges,        
    double threshold1,double threshold2,
    int aperture_size=3
);

#####參數說明

  • image 輸入圖像(需爲灰度圖像)
  • image 表示輸出的邊緣圖像(單通道黑白圖)
  • threshold1 threshold2 兩個閾值,小的控制邊緣連接,大的控制強邊緣的初始分割
    如果一個像素的梯度大於上限值,則認爲是邊緣像素,如果小於下限閾值,則拋棄,如若點的梯度在兩者之間,則當這個點與高於上限值的像素點連接時才保留,否則刪除。
  • aperture_size 算子內核大小 ,表示Sobel 算子大小,默認爲3即表示一個3*3的矩陣
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章