canny检测matlab,Canny边缘检测(Matlab版)

Canny(坎尼)边缘检测算法作为数字图像处理接触到的第一个效果较好的边缘检测算法,原理并不复杂。现有很多教程已经对其进行解释,在此不再赘述。

Canny边缘检测的主要过程为

图像平滑去噪

图像梯度(幅度与方向)的求取

边缘图像的非最大抑制(去除未边缘)

双阈值,使用高阈值图像非零点在低阈值图像中搜索,确定真实边缘位置

在过程中有两个参数会影响边缘效果

Canny算法包含许多可以调整的参数,它们将影响到算法的计算的时间与实效。

高斯滤波器的大小:第一步所用的平滑滤波器将会直接影响Canny算法的结果。较小的滤波器产生的模糊效果也较少,这样就可以检测较小、变化明显的细线。较大的滤波器产生的模糊效果也较多,将较大的一块图像区域涂成一个特定点的颜色值。这样带来的结果就是对于检测较大、平滑的边缘更加有用,例如彩虹的边缘。

阈值:使用两个阈值比使用一个阈值更加灵活,但是它还是有阈值存在的共性问题。设置的阈值过高,可能会漏掉重要信息;阈值过低,将会把枝节信息看得很重要。很难给出一个适用于所有图像的通用阈值。目前还没有一个经过验证的实现方法。百度百科

Matlab版代码

% author: BetaHu

% time: 2019/10/23 20:26

% Matlab version: R2016a

clc, clear;

close all;

tic;

img0 = double(imread('lena.jpg'));

gauss = [1 2 1; 2 4 2;1 2 1] / 16; % Gauss平滑模板

sobelx = [-1

  • 0
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值