码迷,mamicode.com
首页 > 其他好文 > 详细

matlab边缘检测

时间:2015-04-13 09:35:07      阅读:275      评论:0      收藏:0      [点我收藏+]

标签:

f=imread(‘0.jpg‘);                           % 读入图像
f=rgb2gray(f);                                     % 将彩色图像转换为灰度图像
f=im2double(f);                                    % 转换为双精度,便于后面的计算
PE=edge(f,‘sobel‘,‘horizontal‘);%sobel水平
figure, imshow(PE),title(‘sobel Image‘),
figure, imshow(f),title(‘Original Image‘),               
PF=edge(f,‘prewitt‘);                               % 边缘探测,算子为prewitt
figure,imshow(PF),title(‘Prewitt Filter‘);               
RF=edge(f,‘roberts‘);                              % 边缘探测,算子为roberts
figure,imshow(RF),title(‘Roberts Filter‘);              
LF=edge(f,‘log‘);                                  % 边缘探测,算子为log
figure,imshow(LF),title(‘Laplacian of Gaussian (LoG) Filter‘); 
CF=edge(f,‘canny‘);                                 % 边缘探测,算子为canny

figure,imshow(CF),title(‘Canny Filter‘);      


MATLAB的图像处理工具箱中提供的edge函数可以实现检测边缘的功能,其语法格式如下:
BW = edge(I,‘sobel‘)
BW = edge(I,‘sobel‘,direction)
BW = edge(I,‘roberts‘)
BW = edge(I,‘log‘)
这里BW = edge(I,‘sobel‘)采用Sobel算子进行边缘检测。BW = edge(I,‘sobel‘,direction)可以指定算子方向,即:
direction=’horizontal’,为水平方向;
direction=’vertical’,为垂直方向;
direction=’both’,为水平和垂直两个方向。
BW = edge(I,‘roberts‘)和BW = edge(I,‘log‘)分别为用Roberts算子和拉普拉斯高斯算子进行边缘检测。          

matlab边缘检测

标签:

原文地址:http://blog.csdn.net/lihuajie1003/article/details/45015039

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!