您的位置:首页 > 其它

Roberts边缘检测算子

2016-06-29 22:04 225 查看
Roberts提出了这种寻找边缘的算子。Roberts边缘算子是一个2x2的模板,采用的是对角方向相邻的两个像素之差。从图像处理的实际效果来看,边缘定位较准,对噪声敏感





clear all;

sourcePic=imread('9.jpg'); %读取原图像

grayPic=rgb2gray(sourcePic); %转换成灰度图像

subplot(131);imshow(grayPic);title('原图');

[high,width]=size(grayPic);

newGrayPic=grayPic;%为保留图像的边缘一个像素

robertsNum=0; %经roberts算子计算得到的每个像素的值

robertThreshold=0.9; %设定阈值

for j=1:high-1 %进行边界提取

for k=1:width-1

robertsNum = abs(grayPic(j,k)-grayPic(j+1,k+1)) + abs(grayPic(j+1,k)-grayPic(j,k+1));

newGrayPic(j,k)=robertsNum;

end

end

subplot(132);imshow(newGrayPic);title('roberts算子的处理结果');

% Matlab自带函数边缘检测

% K为获取得到的关键帧的灰度图

BW3 = edge(grayPic,'roberts', 0.03);

subplot(133);imshow(BW3,[]);title('Matlab自带函数边缘检测');










内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: