【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的矩阵
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章