失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > Matlab图像边缘检测Roberts\Sobel\Prewitt\Canny算子

Matlab图像边缘检测Roberts\Sobel\Prewitt\Canny算子

时间:2019-12-12 08:33:05

相关推荐

Matlab图像边缘检测Roberts\Sobel\Prewitt\Canny算子

确定图像中的物体边界的一种方法是先检测每个像素和其直接淋雨的状态已决定该像素是否确实处于一个物体的边界上。具有这种特性的像素被标记为边缘点。当图像中各个像素的灰度级用来反映各像素要求的程度时,这种图像被称为边缘图像或边缘图。它也可以表示边缘点的位置而没有强弱程度的二值图像来表示。对边缘图像而不是幅度进行编码的图像叫做含方向边缘图。

一幅边缘图通常用边缘点勾画出各个物体的轮廓,单很少能形成图像分割所需要的闭合切连通的边界。因此需要对边缘点进行连接才能完成物体的检测过程。边缘点连接就是一个将邻近的边缘点连接起来,从而产生一条闭合的联通边界的过程。这个过程填补了因为噪声和阴影的影响所产生的间隙。--------引用:杨杰:数字图像处理及MATLAB实现

1.Roberts边缘算子

Roberts边缘检测算子是一种利用局部查分算子寻找边缘的算子。

2.Sobel边缘算子

两个卷积核形成了Sobel边缘算子。图像中的每个点都用这两个核做卷积。一个核对通常的垂直边缘响应最大而另一个对水平边缘响应最大。两个卷积的最大值作为该点的输出值。运算结果是一幅边缘幅度的图像

......理论省略,自行百度

%图像边缘检测%加载图片并读取图片信息srcImage=imread('E:\MatlabWorkSpace\实验三边缘检测\image.bmp');srcImageInfo=imfinfo('E:\MatlabWorkSpace\实验三边缘检测\image.bmp');%图像为truecolor,首先转化为灰度图%将图像转化为灰度图grayImage=rgb2gray(srcImage);%分别使用Roberts\Sobel\Prewitt\Canny算子进行边缘检测imageRoberts=edge(grayImage,'roberts');imageSobel=edge(grayImage,'sobel');imagePrewitt=edge(grayImage,'prewitt');imageCanny=edge(grayImage,'canny');%显示检测图像subplot(2,3,1);imshow(grayImage);title('原图像');subplot(2,3,2);imshow(imageRoberts);title('roberts');subplot(2,3,3);imshow(imageSobel);title('sobel');subplot(2,3,4);imshow(imagePrewitt);title('prewitt');subplot(2,3,5);imshow(imageCanny);title('canny');

如果觉得《Matlab图像边缘检测Roberts\Sobel\Prewitt\Canny算子》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。