当前位置:首页 > 知识快讯 > 正文

matlab边缘提取(matlab边缘提取图)

matlab边缘提取(matlab边缘提取图)

几种常用的边缘检测算子:边缘是图像的最重要的特征,。边缘是指周围像素灰度有阶跃变化或屋顶变化的那些像素的集合。边缘检测主要是灰度变化的度量、检测和定位。有很多种不同的边...

几种常用的边缘检测算子:

边缘是图像的最重要的特征,。边缘是指周围像素灰度有阶跃变化或屋顶变化的那些像素的集合。边缘检测主要是灰度变化的度量、检测和定位。有很多种不同的边缘检测方法,同一种方法使用的滤波器也不尽相同。图像边缘检测就是研究更好的边缘检测方法和检测算子。

边缘检测的基本思想:
  • 利用边缘增强算子,突出图像中的局部边缘;
  • 然后定义像素的“边缘强度”,通过设置阈值的方法提取边缘点集。由于噪声和模糊的存在,监测到的边界可能会变宽或在某点处发生间断。因此,边界检测包括两个基本内容:

i. 用边缘算子提取出反映灰度变化的边缘点集

ii. 在边缘点集合中剔除某些边界点或填补边界间断点,并将这些边缘连接成完整的线

常用的检测算子有==拉普拉斯边缘检测算法、Robert边缘检测算子、Sobel边缘检测算子、Prewitt边缘检测算子、Canny边缘检测算子==。

在Matlab图像处理工具箱中,提供了edge函数利用以上算子来检测灰度图像的边缘。

代码:

clear;close all;img=imread('C:UserslenovoDesktop15.bmp');figure('name','原图和二值化图像');subplot(1,2,1);imshow(img);title('原始图像')img=imbinarize(img); %二值化图像subplot(1,2,2);imshow(img)title('二值化图像')figure('name','五种边缘检测算子实现图'); �ge函数中的图像可以是二值图像也可以是灰度图像,%因为原图为二维图像采用二值算法进行处理更为方便;canny= edge(img,'canny');% 这里采用默认阈值,如果更加复杂的图像可以自定义阈值�nny= edge(img,'canny',0.51); %自定义阈值subplot(2,3,1);imshow(canny);title('Canny算子实现')Roberts= edge(img,'Roberts');subplot(2,3,2);imshow(Roberts);title('Roberts算子实现')Sobel= edge(img,'Sobel');subplot(2,3,3);imshow(Sobel);title('Sobel算子实现')Prewitt= edge(img,'Prewitt');subplot(2,3,4);imshow(Roberts);title('Roberts算子实现')Roberts= edge(img,'Roberts');subplot(2,3,5);imshow(Prewitt);title('Prewitt算子实现')处理结果:

在这里插入图片描述

在这里插入图片描述

本片博客参考下面两位博主的文章:

基于matlab边缘提取的几种方法的比较edge函数使用

以上内容则是玖云博客网发布关于(matlab边缘提取(matlab边缘提取图))的内容信息!欢迎分享转载

发表评论

推荐文章

  • sem开户(sem推广开户渠道)sem开户(sem推广开户渠道)
  • 炫酷花里胡哨倒计时引导页HTML源码炫酷花里胡哨倒计时引导页HTML源码
  • SEO网站推广怎么做(SEO网站推广的6个方法与技巧)SEO网站推广怎么做(SEO网站推广的6个方法与技巧)
  • 新文章