一.实验设备
计算机,MATLAB软件
二.实验目的
1.理解并掌握图像的边缘检测的原理。
2.学习使用matlab对图像进行边缘检测的操作。
三.实验原理
图像中包含的对象的边界所在位置的集合就是边缘。物体的边缘可以通过灰度值的突变,颜色的突变,纹理结构的突变等来有计算机识别。从本质上说,边缘就相当于是两个区域相交的地方。图像的边缘信息在生活中尤为重要,在图像分析和人的视觉中起着图像识别的作用,是图像提取的一个重要属性。边缘检测在图像处理和对象识别领域中一直以来都是一个既简单又非常重要的问题。由于边缘所在位置的灰度值不连续性,可以使用求导数的方法进行检测。最早的图像边缘检测方法都是基于像素的数值导数的运算。
本实验主要是对图像进行Canny算子运算,分析处理结果。Canny边缘检测算子(Canny,1986)被认为当前最受欢迎的边缘检测方法。Canny算子实现基本需要4个步骤:(1)高斯滤波对图像进行平滑处理(2)Sobel算子计算图像的梯度幅值(3)对图像的梯度幅值进行非极大值抑制(4)滞后阈值处理进行边缘连接。
四. 实验步骤
1.学习图像边缘检测的理论知识。
2.学习并编写对图像进行canny算子检测边缘的程序。
3.使用matlab对图像进行边缘检测的操作。
4.对实验结果进行分析并总结。
五.程序及结果分析
img = imread('001.jpg');
img = rgb2gray(img);
img_edge = edge(img,'canny');
figure;imshow(img_edge);title('提取边缘');
figure;imshow(img);title('原灰度图');
实验效果如图5.2所示,提取出了图像的边缘。
六.实验总结
图像边缘检测主要有Sobel算子,Prewitt算 子,Roberts算子,Laplace算子和Canny算子运算。本实验采用了Canny算子。
Canny算子也采用高斯函数对图像进行平滑处理,也具有较强的去噪能力,但同样可能会丢失一些边缘信息。这就需要对图像进行其他处理,来更好的提取边缘。